Jump to content

The Principia Machina/Guide/9 Publishing a specification version: Difference between revisions

From The Invariance Itself
m 1 revision imported
m 1 revision imported
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TPM map}}
{{TPM map}}
{{DISPLAYTITLE:Guide 9: Publishing a specification version}}
{{DISPLAYTITLE:Guide 9: Publishing a specification version}}
''The operator's guide. It assumes [[The Principia Machina/Hub/General reader|the walk]]; a newcomer should read that first. Each page opens with its diagram, states its purpose and scope, gives the procedure, names what it does not cover, works one example, and links the sections of the specification that govern it. Where this guide and the specification differ, the specification governs.''
''The operator's guide. It assumes [[The Principia Machina/Hub/General reader|the walk through]]; a newcomer should read that first. Each page opens with its diagram, states its purpose and scope, gives the procedure, names what it does not cover, works one example, and links the sections of the specification that govern it. Where this guide and the specification differ, the specification governs.''


{{:The Principia Machina/Diagrams/01 Five-layer map}}
{{:The Principia Machina/Diagrams/01 Five-layer map}}
Line 10: Line 10:


== Scope ==
== Scope ==
The version tree, the file digest, the genesis line, D(IS), the contents page, the diagram set, implementations, the import path. Not covered: authoring the rules.
The version tree, the file digest, the TPS digest D(TPS), the genesis line, D(IS), the contents page, the diagram set, implementations, the import path. Not covered: authoring the rules.


== Procedure ==
== Procedure ==
# A specification version is one file with a terminal sentinel. Compute its SHA-256 with a tool; never type a digest.
# A specification version is one file with a terminal sentinel. Compute its SHA-256 with a tool; never type a digest. That file digest identifies the file for provenance only; the version's digest of record is D(TPS), below ([[The Principia Machina/TPS/0.1 Front matter and change record|TPS 0.1.5]]).
# Publish it as a root page and one page per content unit, verbatim in pre blocks, under a title that carries the version. A later version is a new page tree; the old one is never edited.
# Publish it as a root page and one page per content unit, verbatim in pre blocks, under version-free titles. A later version is a new revision of the same pages, imported onto the same titles; an earlier version is read from a page's history, not found at a separate title. Only the text inside the pages' preformatted blocks is the version: each block opens and closes with the pre tags written exactly, and a page whose tags are malformed is refused; a banner, a link or any other text outside the blocks is not part of it ([[The Principia Machina/TPS/5.14 AI certification|TPS 5.14 CR9]]).
# The declaring authority lands the genesis line, the digest and version, on the DECLARATIONS page. From then on D(IS) is TPX's digest over that published version, published on the hub and in the badge.
# The declaring authority declares the version on TPX's declaration form. TPX computes D(TPS) there, over the preformatted text of the version's pages, page by page, the root first and the sections in number order, and D(IS) over the version, D(TPS) and the other members of the instruction-artifact class, and fixes both on the line; the first such declaration is the genesis line, the version and its D(TPS) on the DECLARATIONS page. D(IS) is published on the hub and in the badge, and every agent's PRB recomputes both from the pages before each session and starts none on a mismatch ([[The Principia Machina/TPS/5.14 AI certification|TPS 5.14 CR9]], [[The Principia Machina/TPS/5.4 PRB|5.4.15]], [[The Principia Machina/TPS/5.6 Certificate, declarations and the build chain|5.6.11]]).
# Beside the current D(IS) the hub carries D(TPS) and the ordered list [title, h] of the declared TPS version's kept pages, as TPX computed them at H-DECL's declaration (CR9), and replaces the three together at the next TPS declaration. A list PRB computes that differs from the published one names each title whose h differs, is missing or is extra ([[The Principia Machina/TPS/5.11 The index of record|TPS 5.11.16]], [[The Principia Machina/TPS/5.14 AI certification|5.14 CR9]], [[The Principia Machina/TPS/5.4 PRB|5.4.15]]; revision 8, proposed).
# Every implementation of the agent contract is indexed with its name, version, digest and the specification version it conforms to. Implementations are not normative and sit outside D(IS).
# Every implementation of the agent contract is indexed with its name, version, digest and the specification version it conforms to. Implementations are not normative and sit outside D(IS).
# Update the human layer against the new version: the contents page, the diagram set (re-keyed addresses; STATUS re-stamped), the keys, the terms, the walk and this guide. Re-render, re-import.
# Update the human layer against the new version: the contents page, the diagram set (re-keyed addresses; STATUS re-stamped), the keys, the terms, the walk through and this guide. Re-render, re-import.
# Import through Special:Import from a single export file; assign edits to local users; upload renderings separately if static images are wanted.
# Import through Special:Import from a single export file, every revision stamped later than its page's latest revision; assign edits to local users; never re-run a completed import; upload renderings separately if static images are wanted.
# Declaring a calculator version follows the same pattern as step 4: compute its digest with a tool, publish the source under the plain-text content model, and land the index entry by declaration. The calculator decides nothing; a compiled build of it is never of record.
# Declaring a calculator version follows the same pattern as step 4: compute its digest with a tool, publish the source under the plain-text content model, and land the index entry by declaration. The calculator decides nothing; a compiled build of it is never of record.


== Checklist ==
== Checklist ==
* Sentinel present; digest from a tool; genesis line landed by the declaring authority.
* Sentinel present; digest from a tool; genesis line landed by the declaring authority, D(TPS) and D(IS) computed by TPX on the form.
* No page of an old version edited.
* Any edit inside a preformatted block, a status line included, is a new version: declared, with a new D(TPS) and D(IS), lapsing every certificate. A banner or link edit outside the blocks moves neither.
* Every imported revision stamped later than its page's latest revision; no completed import re-run.
* Hub's specification section names the current version as normative and the implementations as implementations.
* Hub's specification section names the current version as normative and the implementations as implementations.


Line 30: Line 32:


== Worked example ==
== Worked example ==
TPS 0.1.0 is published as 46 pages with its digest on the root page; the declaring authority has not yet landed the genesis line, so every page says "proposed". A rename is decided. The file is revised, the digest recomputed, the pages re-sliced and re-imported as revision 2 of the same proposed version, because nothing has been landed. Once the genesis line lands, that freedom ends: the next change is 0.2.0, a new tree.
TPS 0.1.0 was published on 2026-09-16 as a page tree whose titles carried the version, with its file digest on the root page, every page saying "proposed". While nothing had been landed, the file was revised, its digest recomputed and the pages re-sliced and re-imported as revisions 2 and 3 of the same proposed version. On 2026-09-21 the tree was moved to version-free titles, every page keeping its history and leaving a redirect; on 2026-09-22 revision 4 was imported onto the moved titles and the declaring authority declared version 0.1.0 final. Later revisions are imported onto the same titles as new revisions of each page: TPS 0.1.1, a PATCH of the pages' leads and status lines, declared final on 2026-09-26; revision 5, proposed as 0.2.0 and never declared; and revision 6, declared final as version 0.3.0 on 2026-09-28. On 2026-09-29 a page batch changed the banners and links of revision 6's pages and nothing inside their preformatted blocks, so the D(TPS) of the declared version did not move. The genesis line waits for TPX's first landing; once it lands, that freedom ends: a change of the rules is a new version on the same titles.


Governing sections: [[The Principia Machina/TPS 0.1.0/0.1 Front matter and change record|TPS 0.1]], [[The Principia Machina/TPS 0.1.0/5.11 The index of record|TPS 5.11]], [[The Principia Machina/TPS 0.1.0/5.14 AI certification|TPS 5.14]], [[The Principia Machina/TPS 0.1.0/6.1 Scope and conformance|TPS 6.1]].
Governing sections: [[The Principia Machina/TPS/0.1 Front matter and change record|TPS 0.1]], [[The Principia Machina/TPS/5.11 The index of record|TPS 5.11]], [[The Principia Machina/TPS/5.14 AI certification|TPS 5.14]], [[The Principia Machina/TPS/6.1 Scope and conformance|TPS 6.1]].


----
----
Previous: [[The Principia Machina/Guide/8 Index, chain, badge and recovery|Index, chain, badge and recovery]]. End of the guide. [[The Principia Machina/TPS 0.1.0/Contents|Contents of the specification]].
Previous: [[The Principia Machina/Guide/8 Index, chain, badge and recovery|Index, chain, badge and recovery]]. Next: [[The Principia Machina/Guide/10 Managing the module catalogue|Managing the module catalogue]].


[[Category:The Principia Machina]]
[[Category:The Principia Machina]]

Latest revision as of 13:34, 30 September 2026

The Principia Machina: map
Reading the diagrams
Structure key
Process key
Definition of terms
Roles
Reading by audience
Start here: the walk through
The operator's guide
Tutorial: create a UUID Workspace Container (UWC)
Public Recorder inputs
Sponsors: your first agent
The specification
Contents: parts, tables, diagrams
TPS 0.5.0 (declared 2026-10-03, revision 8; machine-optimized text)
Decisions (the foundations record, one line each)


The operator's guide. It assumes the walk through; a newcomer should read that first. Each page opens with its diagram, states its purpose and scope, gives the procedure, names what it does not cover, works one example, and links the sections of the specification that govern it. Where this guide and the specification differ, the specification governs.

The five layers the specification governs; every published version covers all five. (diagram page.)

Purpose

Publish a version of the specification, keep the human pages and the machine-optimized pages consistent with it, and index the implementations that conform to it.

Scope

The version tree, the file digest, the TPS digest D(TPS), the genesis line, D(IS), the contents page, the diagram set, implementations, the import path. Not covered: authoring the rules.

Procedure

  1. A specification version is one file with a terminal sentinel. Compute its SHA-256 with a tool; never type a digest. That file digest identifies the file for provenance only; the version's digest of record is D(TPS), below (TPS 0.1.5).
  2. Publish it as a root page and one page per content unit, verbatim in pre blocks, under version-free titles. A later version is a new revision of the same pages, imported onto the same titles; an earlier version is read from a page's history, not found at a separate title. Only the text inside the pages' preformatted blocks is the version: each block opens and closes with the pre tags written exactly, and a page whose tags are malformed is refused; a banner, a link or any other text outside the blocks is not part of it (TPS 5.14 CR9).
  3. The declaring authority declares the version on TPX's declaration form. TPX computes D(TPS) there, over the preformatted text of the version's pages, page by page, the root first and the sections in number order, and D(IS) over the version, D(TPS) and the other members of the instruction-artifact class, and fixes both on the line; the first such declaration is the genesis line, the version and its D(TPS) on the DECLARATIONS page. D(IS) is published on the hub and in the badge, and every agent's PRB recomputes both from the pages before each session and starts none on a mismatch (TPS 5.14 CR9, 5.4.15, 5.6.11).
  4. Beside the current D(IS) the hub carries D(TPS) and the ordered list [title, h] of the declared TPS version's kept pages, as TPX computed them at H-DECL's declaration (CR9), and replaces the three together at the next TPS declaration. A list PRB computes that differs from the published one names each title whose h differs, is missing or is extra (TPS 5.11.16, 5.14 CR9, 5.4.15; revision 8, proposed).
  5. Every implementation of the agent contract is indexed with its name, version, digest and the specification version it conforms to. Implementations are not normative and sit outside D(IS).
  6. Update the human layer against the new version: the contents page, the diagram set (re-keyed addresses; STATUS re-stamped), the keys, the terms, the walk through and this guide. Re-render, re-import.
  7. Import through Special:Import from a single export file, every revision stamped later than its page's latest revision; assign edits to local users; never re-run a completed import; upload renderings separately if static images are wanted.
  8. Declaring a calculator version follows the same pattern as step 4: compute its digest with a tool, publish the source under the plain-text content model, and land the index entry by declaration. The calculator decides nothing; a compiled build of it is never of record.

Checklist

  • Sentinel present; digest from a tool; genesis line landed by the declaring authority, D(TPS) and D(IS) computed by TPX on the form.
  • Any edit inside a preformatted block, a status line included, is a new version: declared, with a new D(TPS) and D(IS), lapsing every certificate. A banner or link edit outside the blocks moves neither.
  • Every imported revision stamped later than its page's latest revision; no completed import re-run.
  • Hub's specification section names the current version as normative and the implementations as implementations.

Non-goals

Publishing does not certify anyone; a changed D(IS) lapses every certificate and the agents re-certify (guide 7).

Worked example

TPS 0.1.0 was published on 2026-09-16 as a page tree whose titles carried the version, with its file digest on the root page, every page saying "proposed". While nothing had been landed, the file was revised, its digest recomputed and the pages re-sliced and re-imported as revisions 2 and 3 of the same proposed version. On 2026-09-21 the tree was moved to version-free titles, every page keeping its history and leaving a redirect; on 2026-09-22 revision 4 was imported onto the moved titles and the declaring authority declared version 0.1.0 final. Later revisions are imported onto the same titles as new revisions of each page: TPS 0.1.1, a PATCH of the pages' leads and status lines, declared final on 2026-09-26; revision 5, proposed as 0.2.0 and never declared; and revision 6, declared final as version 0.3.0 on 2026-09-28. On 2026-09-29 a page batch changed the banners and links of revision 6's pages and nothing inside their preformatted blocks, so the D(TPS) of the declared version did not move. The genesis line waits for TPX's first landing; once it lands, that freedom ends: a change of the rules is a new version on the same titles.

Governing sections: TPS 0.1, TPS 5.11, TPS 5.14, TPS 6.1.


Previous: Index, chain, badge and recovery. Next: Managing the module catalogue.