The Principia Machina/Guide/9 Publishing a specification version: Difference between revisions
Help layer: guide_9 |
m 1 revision imported |
||
| (10 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 | # 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 | # 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. | ||
* | * 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 | 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 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]]. | 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]]. | 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
- 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).
- 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).
- 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).
- 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).
- 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 through and this guide. Re-render, re-import.
- 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.
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.