Jump to content

Testing Step A: the deploys A1 and A2

From The Invariance Itself
Revision as of 00:26, 6 October 2026 by BFP Rauch (talk | contribs) (1 revision imported)
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 deploy record of Step A of Testing the Principia Machina: the two builds of TPX, 0.4.0 (A1, the landing API) and 0.5.0 (A2, the register duties), that put phases M1, M2 and M3 on the live wiki between 2026-10-03 and 2026-10-05. Step A was closed by the operator's words "A2 accepted, M1 M2 M3 accepted" on 2026-10-05 at about 04:31 UTC.

Why two deploys

Decision D237.1 (2026-10-03) replaced the plan's seven phases by three live steps, Step A being M1, M2 and M3 together: TPX's second part, built on the live wiki rather than as the sandbox's next version. The operator then split Step A in two so that the landing path could be proven before the register duties were stacked on it: A1 lands records and nothing more; A2 adds the screen, the strikes, withdrawals, promotion and verification on top of a landing path already known to work.

The timeline

The acceptance words carry no timestamp of their own; "A1 accepted" is placed by the records around it (the triage was written at 22:15 UTC and the A2 build log opens with the word). Every other mark is a server time from a chain line, a page revision or a pasted report.

A1: the landing API (TPX 0.4.0)

Built. The API module action=tpx with the operations STATUS, PUSH and TPCRUN; the special pages Special:TpmNewUwc (the draft entered zone by zone, the gate run, the candidate certificate written to staging) and Special:TpmDeclare (the declaring authority lands it); the first landing's writes: the genesis line, the D-ACTS status lines, the first BUILD CHAIN line carrying the deployed tree's digest. Gated in the workspace by a1_gate.php, 21 of 21, with the calculator's self-load exercised through the Recorder's constructor; the gate was rebuilt at 27 of 27 after its workspace was lost, and runs 25 of 25 with the A2 flag.

Deployed by the operator with tpx_deploy.py (steps D0 to D3; tests T0 to T10, 8 of 8). The tree of record: 39077f280b7a30e977f1d49385bf948b12c6f288ea10ab0876aeb334da200cc1, on the first BUILD CHAIN line.

Live bring-up, four things found on the website and fixed the same day, none of them in the register's logic:

# What Kind Fix
1 Every A1 operation reached the calculator through the Recorder, not through the gate's runner, so TPC-PHP was never loaded: an internal API error extension bug the Recorder's constructor loads the calculator itself (idempotent); a backstop catch in the API module and both special pages; the gate regressed 21 of 21
2 The bot password's shape (account@label; a 32-character lowercase string) operator setup a fresh bot password
3 The user-rights checkbox for the agent group is labelled by its member name, "agent", so the group list looked inconsistent display the operator ticked "agent"; the i18n polish deferred (D-I18N)
4 TPCRUN returns its result as a canonical-JSON string; the test script read it as a list test-reader bug the script parses the string; the digesting was always right (proved in the workspace)

The first UWC. The sandbox's spring example, prefix SPR, declared by BFP_Rauch (the declaring authority) through Special:TpmNewUwc then Special:TpmDeclare at 2026-10-04 19:39:34 UTC: structurally regular, no EOM-0, no IC2 or UNDER gap; D(TFK) 46db0af2a3f5fd6e86447bd1764cd5b934cf0f0be3c9f91d16fd47aa435afe5b; SPR-1 the MASTER, record digest 7d515dc8...fac1de.

The operator's live test (tpx_land_test.py, 7 steps, block A1-TEST, push at 20:46:26 UTC): sign in as a test agent account; STATUS reads DECLARED; a push with a wrong identifier is REFUSED; the three spring records land, SPR-2 (an ASSUMPTION, the initial value), SPR-3 and SPR-4 (L RESULTs, SPR-4 citing SPR-2), all PROVISIONAL; the register page read back with every envelope field TPX writes; the four stored digests recomputed through TPCRUN, equal; STATUS reads 4 records, next SPR-5. PASS, 7 of 7.

The outside read side (Gemini, 2026-10-04 21:23:55 UTC, no account): C1 state DECLARED, 4 records, next SPR-5; C2 SPR-1 to SPR-4 contiguous, envelope present; C3 4 of 4 digests recomputed by TPCRUN; C4 TPS 0.5.0, D(IS) 662a69d8...35292e and D(TFK) matching; C5 the genesis line TPS 0.5.0 with D(TPS) e45ef3a8...4688a0b, three D-ACTS lines, every link intact; the write check skipped, no account issued. OUTSIDE RESULT: PASS. Triaged the same day: every field matches the landing side.

A2: the register duties (TPX 0.5.0)

Built in six increments on 2026-10-04 and 2026-10-05, each gated against the sandbox and the published calculator before the next began: the screen (SR3 with SR8, SR5, SR7, SR6, the audit-block stub), D246.3's L-M rule, withdrawals, promotion and the reading views, verification, D248.1's rating of every failed verification. The gate counts stand on M1: 40, 37, 76, 97, 112, 123 cases; parity with the calculator 139, 112, 234, 475, 588, 648. After the release change: a1_gate with the A2 flag 25 of 25, a2_gate 123 of 123, a2_parity 648 of 648, a2_wiring 6 of 6.

Tested before release against a mock of the site (api.php and index.php over a file store) prepared exactly as the live SPR stood after A1: main mode PASS (15 checks); a second run PARTIAL by design (nothing pushed, everything read back); sandbox mode on a fresh UWC SPZ PASS (17 checks, SPZ-1 to SPZ-12); a tampered record and a tampered chain line both caught. The chain-hash recomputation in Python equals the server's on every line. Found and written into the runbook: 0.4.0 cannot land on a UWC after 0.5.0 has written a list record there, so a return to 0.4.0 is a stop for landings on SPR, not a rollback; a fault in 0.5.0 is met by a corrected 0.5.x.

Deployed at 2026-10-05 01:42 UTC. The tree of record: 16a1e1a2...a9c2, on the BUILD CHAIN line of A2's first landing.

The operator's live test (tpx_a2_test.py, 15 checks, block A2-TEST, push at 01:43:04 UTC): see M1 for the list. PASS, 15 of 15. The register after: SPR-1 to SPR-6, next SPR-7; SPR-5 a VERIFICATION of SPR-4 within k (ZETA 0.5); SPR-6 a PROMOTION record, SPR-3 ESTABLISHED.

The outside session (Gemini, 2026-10-05 01:53 UTC, read-only, under tpm_a2_outside_test_brief 0.1.0): C1 to C7 PASS. The builder's recheck (about 02:00 UTC, anonymous, ten API calls eight seconds apart): C1 to C7 PASS, one cosmetic finding F-VIEW-1. A second outside AI could not reach the site from its sandbox: NOT RUN, no bearing.

The three-way test

Every Step A deploy was tested the same way, and the pattern is the one Step B inherits:

Triage values for a later run

A session that repeats track C after Step A can check these against what it reads; any difference means the register or the chain has moved since 2026-10-05 01:43 UTC, which is expected once Step B lands.

Value On 2026-10-05
TPX version (STATUS) 0.5.0
SPR state DECLARED; 6 records; next SPR-7
SPR-6's record digest 5f882173...1526
the last BUILD CHAIN hash 99d081e094a700ab
the register page's revision 5670, at 2026-10-05T01:43:03Z
D(TFK) of SPR 46db0af2a3f5fd6e86447bd1764cd5b934cf0f0be3c9f91d16fd47aa435afe5b
D(IS) 662a69d8...35292e
D(TPS) of TPS 0.5.0 e45ef3a8...4688a0b

Carried out of Step A

None blocks; each stays on the project's ledger and on Findings: HOLD and RELEASE and the reserved range to Step B (D247.1, D-RANGE); F-VIEW-1, F-TPCRUN-1 and F-STATUS-1 for the next 0.5.x; D-REC96 for the next test release; D-SUPCITE for the next TPS revision; the Git tag tpx-0.5.0, the operator's act when he chooses; the optional sandbox run (prefix SPZ), lapsed as an acceptance step. $wgServer was set to https at 2026-10-05 04:53:57 UTC (D207), after the acceptance.

Phases: M1, M2, M3. Cross-cutting: Findings, Timeline. Back to Testing the Principia Machina.