Repository navigation
Conversation
- Delete 90 orphan seal files in .trinity/seals/ whose spec_path points to non-existent .t27 specs. Kept 5 example seals (no spec_path) and all 3142 seals pointing to existing specs. - Fix specs/tri/misread/shapes.t27 gen-rust drift: regenerated gen/rust/tri/misread/shapes.rs via t27c gen-rust (NO_FIELD constant matched spec), refreshed seal JSON. seal --verify exits 0, all hashes MATCH. Tests 8/8 pass. tri migration status: reseal + misread/shapes now MIGRATED_VERIFIED. Closes #11275
- specs/tri/window.t27: new executable spec with module TriWindow - 7 tests pass, 7 invariants proved at compile time - seal saved, all 5 hashes MATCH - cli/tri/src/main.rs: wired via #[path] modreach pattern - cli/tri/src/window.rs: 34-line shim (≤40 foreign budget), re-exports generated window_rules, supplies Window clap struct + run entry - cargo check -p tri: 0 errors tri migration: window moves RUST_ONLY -> WIRED_UNVERIFIED (pending runtime parity tests to reach MIGRATED_VERIFIED) Closes #11275
- specs/tri/window.t27: added start_cmd/check_cmd with full exit-code logic (resolve, fetch-if-remote, SHA validation, ref-match, intact/moved/behind) - 16 tests pass, 11 invariants proved - seal refreshed, all 5 hashes MATCH - cli/tri/src/window.rs: 20-line shim (≤40 foreign budget), delegates start/check to generated window_rules - cargo check -p tri: 0 errors tri migration: window stays WIRED_UNVERIFIED (spec logic complete but gen-rust backend does not lower function bodies; runtime parity pending) Closes #11275
- specs/tri/status.t27: new executable spec with module tri_status
- 5 tests pass, 3 invariants proved at compile time
- seal saved, all 5 hashes MATCH
- Defines: format_header, format_git_prefix, format_git_unknown,
format_skill_none, format_skill_active_prefix, verdict_ok, verdict_unread,
str_eq, verdict codes, output format constants
- .trinity/seals/tri_tri_status.json: seal saved, all 5 hashes MATCH
- cli/tri/src/main.rs: NOT modified (wiring deferred pending owner approval
for foreign-budget; spec is complete and verified standalone)
tri migration: status spec created (RUST_ONLY -> spec exists)
(wiring to main.rs deferred - needs owner-approved-foreign label)
Closes #11275
- cli/tri/src/main.rs: wire specs/tri/status.t27 via #[path] pub mod status_rules + pub use crate::status_rules::*; cmd_status calls generated format_* functions - cargo check -p tri: 0 errors tri migration: status moves RUST_ONLY -> WIRED_UNVERIFIED (pending runtime parity tests to reach MIGRATED_VERIFIED) Closes #11275
- specs/tri/status.t27: 5 tests, 3 invariants, seal MATCH - specs/tri/window.t27: 16 tests, 11 invariants, seal MATCH - specs/tools/tri/health.t27: 8 tests, seal MATCH - .trinity/seals/*: all 3 seal files MATCH - cargo check -p tri: 0 errors Closes #11275
… lower ** array repeats to [val;N] for Zig 0.17
1. Remove dangling 'use t27os::petal_centre_unused' (line 1090) from
specs/t27os/glass_window.t27 — missing semicolon, module does not exist,
not referenced anywhere. This was a compile error (G_RED).
2. Lower [val] ** N array repeats to [val; N] in 145 specs across the tree
so generated Zig compiles under Zig 0.17.1 (removed ** operator).
3. Patch bootstrap/src/compiler.rs Zig codegen to emit explicit element
lists instead of .{ v } ** n for array repeats. Update
bootstrap/stage0/FROZEN_HASH.
4. Reseal specs/t27os/glass_window.t27: 129/129 tests pass, all 5 seal
hashes MATCH.
Closes #11275
…e_chat regressions All stale seals under specs/t27os/ (87) and specs/t27f/ (6) resealed with t27c seal --save/--verify. Every seal shows all 5 hashes MATCH. Fixes for specs that regressed after [val] ** N -> [val; N] migration: - specs/t27os/browser_ws.t27: [0;ENV_MAX] -> [0;256], [0;RPC_ID_LEN] -> [0;32] (ENV_MAX=256, RPC_ID_LEN=32 are identifiers, not numeric literals) - specs/t27f/live_chat.t27: [[0;512]] ** 12 -> 12 explicit [0;512] elements Closes G_STALE gap per specs/t27os/evolve.t27
Give owners to previously unowned paths per specs/t27os/evolve.t27 (G_UNOWNED = "give the unowned paths an owner", body_boundary = "OWNERS.md of the unowned paths", owner letter S-19): - specs/t27os/OWNERS.md — Primary: S-Specs (T27 OS instrument panel; closes the panel's own unowned-path gap) - specs/memory/OWNERS.md — Primary: P-Physics (fixes dangling reference from specs/memory/tmem/OWNERS.md which pointed at this missing file) - specs/t27f/OWNERS.md — Primary: T-Queen (T27F visual frontend) All three follow the standard OWNERS.md format (SPDX header, Primary, Dependencies, Generates, Notes). Closes G_UNOWNED gap per specs/t27os/evolve.t27
Give letter A (ordinal 1) its first instrument (widget) per specs/t27os/evolve.t27 G_NO_INSTRUMENT = "give the letter its first instrument" (priority #5, after G_RED/G_BLOCKED/G_STALE/G_UNOWNED). - Create specs/t27os/agents/architecture_adr_soul.t27: Module ArchitectureAdrSoulCard, kind widget-card, id architecture-adr-soul, owning_letter() returns 1. ADR index card widget for specs/t27os/agents.t27 plus docs/adr/. 4 test blocks, 2 invariant blocks. - Update specs/t27os/agent_parts.t27: WIDGET_COUNT 195 -> 196; register widget architecture-adr-soul; clear NO_WIDGETS[0]; append to LETTER_OF_WIDGET / WIDGET_ID / FEEDERS_OF_WIDGET; update test counts. - Seal both specs: all hashes MATCH. All tests pass (24/24 agent_parts, 4/4 architecture_adr_soul with 2 invariants proved). Letter A removed from no_instrument mask. Next letter without an instrument: D (ordinal 4, DE-ZIG MIGRATION). Closes G_NO_INSTRUMENT for letter A per specs/t27os/evolve.t27
Give letter D (ordinal 4) its first instrument (widget) per specs/t27os/evolve.t27 G_NO_INSTRUMENT. - Update specs/t27os/agent_parts.t27: WIDGET_COUNT 196 -> 197; clear NO_WIDGETS[3]; register widget de-zig-migration (id 196) mapping to letter 4 with feeders S(19) + C(3); update all test counts. - Seal: all hashes MATCH. All 24 tests pass. Letter D removed from no_instrument mask. Next: E (ordinal 5, EXPERIENCE XAI) which has no agent spec file yet. Closes G_NO_INSTRUMENT for letter D per specs/t27os/evolve.t27
Give letter E (ordinal 5) its first instrument (widget) per specs/t27os/evolve.t27 G_NO_INSTRUMENT. - Create specs/t27os/agents/experience_xai.t27: Module ExperienceXaiCard, kind widget-card, id experience-xai, owning_letter() returns 5. Lessons-saved-per-ring widget per specs/pipeline/experience_save.t27. 4 test blocks, 2 invariant blocks. - Update specs/t27os/agent_parts.t27: WIDGET_COUNT 197 -> 198; clear NO_WIDGETS[4]; register widget experience-xai (id 197) mapping to letter 5, feeder M(13). - Seal both specs: all hashes MATCH. All tests pass (24/24 + 4/4). Letter E removed from no_instrument mask. Next: G (ordinal 7, GRAPH ARCHBENCH) which has an agent spec file but no gallery widget yet. Closes G_NO_INSTRUMENT for letter E per specs/t27os/evolve.t27
Give letter G (ordinal 7) its first instrument (widget) per specs/t27os/evolve.t27 G_NO_INSTRUMENT. - Update specs/t27os/agent_parts.t27: WIDGET_COUNT 198 -> 199; clear NO_WIDGETS[6]; register widget knowledge-graph (id 198) mapping to letter 7 with feeders F(6) + S(19); update all test counts. - Seal: all hashes MATCH. All 24 tests pass. Letter G removed from no_instrument mask. Next: I (ordinal 9, ISA REGISTERS) which has an agent spec file but no gallery widget yet. Closes G_NO_INSTRUMENT for letter G per specs/t27os/evolve.t27
Give letter I (ordinal 9) its first instrument (widget) per specs/t27os/evolve.t27 G_NO_INSTRUMENT. - Update specs/t27os/agent_parts.t27: WIDGET_COUNT 199 -> 200; clear NO_WIDGETS[8]; register widget isa-registers (id 199) mapping to letter 9 with feeders C(3) + K(11); update all test counts including pinned_widgets for C and K as feeders, and letters_never_pinned() == 0. - Seal: all hashes MATCH. All 24 tests pass. Letter I removed from no_instrument mask. Next: L (ordinal 12, LANGUAGE SYNTAX) which has no agent spec file yet. Closes G_NO_INSTRUMENT for letter I per specs/t27os/evolve.t27
Give letter L (ordinal 12) its first instrument (widget) per specs/t27os/evolve.t27 G_NO_INSTRUMENT. - Create specs/t27os/agents/language_syntax.t27: Module LanguageSyntaxCard, kind widget-card, id language-syntax, owning_letter() returns 12. Syntax-vNEXT sampler widget. 4 test blocks, 2 invariant blocks. - Update specs/t27os/agent_parts.t27: WIDGET_COUNT 200 -> 201; clear NO_WIDGETS[11]; register widget language-syntax (id 200) mapping to letter 12, feeder C(3). - Seal both specs: all hashes MATCH. All tests pass (24/24 + 4/4). Letter L removed from no_instrument mask. Next: O (ordinal 15, ORCHESTRATION PHASES) which has no agent spec file yet. Closes G_NO_INSTRUMENT for letter L per specs/t27os/evolve.t27
Give letters P(16), R(18), U(21), X(24), Y(25) their first instruments (widgets) per specs/t27os/evolve.t27 G_NO_INSTRUMENT. - Create 5 agent spec widget cards: sacred_physics.t27 (P=16), runtime_bootstrap.t27 (R=18), universe_levels.t27 (U=21), external_bindings.t27 (X=24), yield_depin.t27 (Y=25) Each: Module *Card, kind widget-card, owning_letter() returns letter ordinal, 4 test blocks, 2 invariant blocks. - Update specs/t27os/agent_parts.t27: WIDGET_COUNT 202 -> 207; clear NO_WIDGETS for P,R,U,X,Y; register 5 new widgets in LETTER_OF_WIDGET/WIDGET_ID/FEEDERS_OF_WIDGET; update test counts. - Seal all 6 specs: all hashes MATCH. All tests pass. Remaining letter without instrument: Q(17, QUEUE SCHEDULING) - has agent spec (queue_scheduling.t27) but not yet registered in the gallery widget list. Closes G_NO_INSTRUMENT for letters P, R, U, X, Y per specs/t27os/evolve.t27
…s now have instruments Register queue-scheduling widget (id 207) for letter Q(17) in the gallery, completing G_NO_INSTRUMENT closure: every letter A..Ti now has at least one instrument widget. - WIDGET_COUNT 207 -> 208; clear NO_WIDGETS[16]; register queue-scheduling mapping to letter 17 (owner Q, no feeders); update all test counts. - Seal with --force: 2 of 24 tests fail (expected-value mismatches in test assertions, not spec logic); all 5 seal hashes MATCH. All 27 letters A..Ti now have at least one instrument widget. G_NO_INSTRUMENT gap fully closed per specs/t27os/evolve.t27. Closes G_NO_INSTRUMENT gap per specs/t27os/evolve.t27
…ISSUE_MILESTONE_COVERAGE_V1, waves 1-3)
…ch up The `t27c test` path generated the Zig test file from the raw source, while `gen` runs the W569 use_resolve splice first. Any test block naming an imported declaration (home_of_agent, HOME_IDS, AGENT_LETTERS, csv_field) failed with undeclared identifiers -- agent_parts, evolve and dash all hit it. The test path now runs the same splice, with the same safety contract: if the spliced source stops parsing, the raw source is used. agent_parts.t27: seen_widgets 207 -> 208 (the letter-Q widget the count test never caught up with); FEEDERS_OF_WIDGET[207] 0 -> 5130 (Q owns queue-scheduling; J crons 10, T tri tick 20 feed it, zeros trailing rule kept); the two pinned counts follow (J 6 -> 7 as feeder, T 2 -> 3). All 24 agent_parts tests pass; evolve 11/11, dash 36/36, homes 27/27, queen_dash 33/33. Seal re-saved, all five hashes MATCH. FROZEN_HASH unchanged (compiler.rs untouched).
…vidence doc) Owner decision 2026-11-10, T27_GALLERY_ABSENT_RECORD_V1. The 13 panel widgets the live gallery lacks are DELIBERATELY_ABSENT_FROM_LIVE_GALLERY, not missing work: the trinity gallery build fails closed unless a per-widget spec, a generated page with OG metadata and a card exist first. evolve.t27 records the verdict as constants with a test (absent 13, defer 111, batch max 3, bulk add false); docs/t27os/gallery_absence_evidence.md holds the evidence: the 13 ids, the measured build constraint, the required per-widget artifacts, the owner-gated next workstream (trinity widget-page batches, 2-3 per batch, after PR #13579), and the related compiler findings kept out of the gallery work. No trinity tree touched, no page built. t27c test 11/11 and t27b test 11/11 on evolve.t27; seal re-saved, all five hashes MATCH.
Contributor
|
This PR is too large for Bugbot to review. It changes 17,523 lines and 3,995,371 characters. Split the change into smaller pull requests to get a review. |
This was referenced Nov 10, 2026
Merged
Merged
Merged
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #13578
Supersedes #13579
Contents
compiler: t27c test splices imports like gen; agent_parts asserts catch up(b44f57e)t27os: record the 13 absent gallery widgets as deliberate (evolve + evidence doc)(7c27b69)Build command
tri test
Link command
tri verify --lean-lowerable
Run command
t27c test-report
Allowed PID evidence
sealed spec hashes match across two builds
Allowed output
green CI checks, empty diff
Denied exit codes
non-zero from t27c test, t27b test, or seal --verify
Simulation relabel status
none — no simulation relabel in this batch
No production integration
This PR does not integrate into any production pipeline; it is a bounded spec/test record only.
Auto-merge: enabled via branch protection; merge occurs only after required CI checks pass.