Skip to content

spec(t27f): interactive petal viz MVP -- contract, 27-petal plan, reference petal S SPECS (Closes #12174) - #12193

Merged
github-actions[bot] merged 4 commits into
masterfrom
claude/t27os-interactive-viz-mvp-57fe52
Oct 25, 2026
Merged

github-actions[bot] merged 4 commits into
masterfrom
claude/t27os-interactive-viz-mvp-57fe52

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #12174, see #12173.

First milestone of the interactive-visualizations epic: the reusable contract, the plan for all 27 petals, and one complete reference petal. Everything is a pure .t27 spec tested by t27c test-report; drawing it in the glass window is the next child issue.

What lands

  • specs/t27f/viz_contract.t27: the contract every petal visualization is drawn through.
    • Lifecycle: idle, loading, ready, empty, error.
    • Truth labels with a claim rule: only LIVE and VERIFIED may be shown as a result.
    • Packed entity refs (node, edge, cell).
    • VizState with one pure reducer covering hover, select, step, param, keyboard focus, back and reduced motion.
    • Representation kinds with a plan check.
    • A nested widget host with hit test, validation and vh_embed, so a widget can be reused inside another petal without copying its logic.
  • specs/t27f/petal_viz_plan.t27: 27 rows, one per petal, each with the user question, the source-of-truth spec (every path checked), the representation kinds and a status: 1 reference, 23 planned, 3 deferred with a reason (E, R, Y). Petal G follows master's new AGENTS page (t27os#3) and is LIVE. The host-page column is held equal to agent_parts.page_kind.
  • specs/t27f/petal_specs_viz.t27: the reference petal S SPECS over tutorial_08_graph(), which spec_graph_derive proves equal to the exporter's output on the real tutorial file. It has three linked views (node-link, adjacency matrix, edge list), message passing with sum, mean or max over 4 layers, an inspector, and an edge toggle that drops truth to DEMO. Every view's hit test inverts its layout, and one state marks the same entities in all three views.
    • A test walks every seed, aggregation, layer and node, and checks that a value is nonzero exactly when the node is at most that many hops from the seed: 3375 runtime asserts, plus a second pass under 7 other edge sets.
    • Two whole-graph checks are tests rather than invariants. Invariants are evaluated at compile time, and these loops go past the evaluator's branch budget.
  • Row S of the plan reads its reps from psv_reps(), and a test asserts the two are equal, so the plan cannot drift from the petal.

Measured

Spec Tests Pass Vacuous Invariants
viz_contract.t27 32 32 0 2
petal_viz_plan.t27 14 14 0 1
petal_specs_viz.t27 67 67 0 2

Command: t27c test-report specs/t27f/<spec>.t27 (the reference path, t27c + zig). The native backend agrees on the petal: t27b test specs/t27f/petal_specs_viz.t27 gives 67 passed, 0 failed, 2 invariants held.

Not claimed

No host draws a VizState yet. The glass window page for petal S is the next child issue of #12173.

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 03:28:54 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 43
PRs with All Checks Green 7
READY 4
FAILING 43
PENDING 0
NO CHECKS YET 0

These columns do not partition: 4 + 43 + 0 + 0 = 47, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=55c0f1b1b32d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 03:54:48 UTC

Summary

Status Count
Total Open PRs 46
PRs with Failing Checks 43
PRs with All Checks Green 3
READY 3
FAILING 43
PENDING 0
NO CHECKS YET 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=55c0f1b1b32d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

gHashTag and others added 2 commits October 25, 2026 10:55
…27-petal plan (see #12173)

viz_contract.t27 is the contract every petal visualization is drawn
through: lifecycle (idle, loading, ready, empty, error), truth labels with
a claim rule (only LIVE and VERIFIED may be shown as a result), packed
entity refs, VizState with one pure reducer (hover, select, step, param,
keyboard focus, back, reduced motion), representation kinds with a plan
check, and a nested widget host with hit test, validation and embedding.
32 tests, 2 invariants, 0 vacuous passes.

petal_viz_plan.t27 lists all 27 petals: the user question, the existing
source-of-truth spec (every path checked), the representation kinds and
the status (1 reference, 22 planned, 4 deferred with a reason). The
host-page column is held equal to agent_parts page_kind. 14 tests,
1 invariant, 0 vacuous passes.

Refs #12174; the reference petal (petal_specs_viz.t27) follows on
this branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…views over the real spec graph (Closes #12174)

petal_specs_viz.t27 is the reference petal of the interactive
visualization epic, built on viz_contract over tutorial_08_graph()
(15 nodes, 16 edges), the graph spec_graph_derive proves equal to the
exporter's output on the real tutorial file.

- One PsvState (the contract's VizState plus an edge mask), one reducer:
  contract events pass through viz_apply, PSV_EV_TOGGLE_EDGE flips one
  edge and drops truth to DEMO until every edge is back on.
- Three linked views from that state: node-link (spec_graph_view boxes),
  adjacency matrix and edge list. Every view's hit test inverts its
  layout, and selection and hover mark the same entities in all three.
- Message passing with a self loop over 4 layers, sum, mean or max, with
  every intermediate value in the trace and the inspector. A test checks,
  for every seed, aggregation, layer and node, that a value is nonzero
  exactly when the breadth-first distance is at most the layer (3375
  asserts), and again under 7 other edge sets.
- Host: the views are placed through VizHost and validated; psv_reps
  passes the contract's plan check.

Two whole-graph checks are tests, not invariants: invariants are
evaluated at compile time, and those loops exceed the evaluator's
branch budget.

petal_viz_plan.t27: row S now reads its reps from psv_reps() and the
test asserts the equality, so the plan cannot drift from the petal.
The old row claimed a source view the petal does not draw.

t27c test-report: petal 67/67, 0 vacuous, 2 invariants; plan 14/14,
0 vacuous, 1 invariant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag force-pushed the claude/t27os-interactive-viz-mvp-57fe52 branch from 3e5341d to 45ded41 Compare October 25, 2026 03:56
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 03:56:38 UTC

Summary

Status Count
Total Open PRs 46
PRs with Failing Checks 42
PRs with All Checks Green 4
READY 3
FAILING 42
PENDING 0
NO CHECKS YET 0

These columns do not partition: 3 + 42 + 0 + 0 = 45, and there are 46 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=55c0f1b1b32d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

…longer deferred (Refs #12174)

Master renamed petal G from ARENA to AGENTS and gave it a bespoke page
(agent_parts page_kind(7) == PAGE_AGENTS, t27os#3): glass_window draws
the swarm feed and the Queen's claims ledger that specs/t27os/devices.t27
parses. The plan holds its host-page column equal to page_kind, so Spec
Guards failed one test on the merge with master.

Row G now reads: question "which agent is doing what, and which issue
did the Queen assign to whom", source specs/t27os/devices.t27, reps
list + timeline + badge, PLANNED, truth LIVE, host page 1. The counts
follow: 23 planned, 3 deferred (E, R, Y), 6 live pages, 22 rows that may
be drawn as a result.

t27c test-report specs/t27f/petal_viz_plan.t27: 14/14, 0 vacuous.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 04:07:13 UTC

Summary

Status Count
Total Open PRs 48
PRs with Failing Checks 41
PRs with All Checks Green 7
READY 3
FAILING 41
PENDING 0
NO CHECKS YET 0

These columns do not partition: 3 + 41 + 0 + 0 = 44, and there are 48 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=55c0f1b1b32d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions
github-actions Bot merged commit 368ce03 into master Oct 25, 2026
37 of 39 checks passed
gHashTag added a commit that referenced this pull request Oct 25, 2026
…12173)

The bee review on #12282 read "the contract, the plan and the reference
did" as a claim that those three specs carry seals. They do not: the only
viz seal under .trinity/seals/ is viz_VizDistillGraph.json. The sentence now
says that none of the three is sealed.

The two "(checked 2026-10-25)" notes about gaps in the reference petal
now name what they were checked against, the reference as merged in
#12193, so a reader can verify them later.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag added a commit that referenced this pull request Oct 25, 2026
…ore petal (Refs #12173) (#12282)

* docs(t27f): VIZ-PETAL-GUIDE -- how to add the visualization for one more petal (Refs #12173)

The epic's success criterion SC-007 asks for tests and a contributor
guide. The tests landed with the contract, the plan and the reference
petal S; this is the guide.

docs/nona-03-manifest/VIZ-PETAL-GUIDE.md walks a contributor through
one petal: find the row in petal_viz_plan.t27, name the file and the
prefix, write the parts in the reference's order (state through
viz_apply, entities from the source spec via use, one view per rep
kind, highlights from the one state, inspector, host), the test
categories the success criteria need, the light and heavy checks, and
how it lands (4-heading child issue, Refs or Closes on every commit,
merge master and re-run test-report before each push, no plan edit in
a petal PR).

It is a map, not a copy: every rule is named by the spec and function
that holds it, and no value, table or count is restated. It also
records two gaps in the reference that new petals should not copy:
no test of its own for the EMPTY and ERROR lifecycles, reduced
motion, vh_focus_next or vh_embed.

docs/README.md gets the index row next to VIZ-DISTILL-GRAPH.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(viz): mark tri viz graph as planned so the dead-tri ceiling holds (Refs #12173)

VIZ-DISTILL-GRAPH.md line 107 named `tri viz graph`, a command no
surface has yet. That raised the dead `tri` mention count to 87, one over
MAX_DEAD_TRI = 86, and the "Documented t27c subcommands exist" check has
been red on master since #12249 (see #12218). Every PR inherits that red
through its merge with master.

The paragraph now says the command is planned and not built. That is the
checker's own DECLARED wording, and it is what #12218's follow-up says
too. The gate run locally (TRI_T27C, TRI_BIN set) prints the 86 recorded
ceiling and exits 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(viz): use the same tri viz graph wording as #12280 (Refs #12173)

#12280 (Refs #12218) fixes the same line of VIZ-DISTILL-GRAPH.md. Its
wording is "`tri viz graph`, not built yet". This branch now uses exactly
that text, so the two PRs merge cleanly in either order and nothing
conflicts. The gate run locally still reads 86 against the ceiling of 86.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(t27f): guide says plainly that no viz spec is sealed yet (Refs #12173)

The bee review on #12282 read "the contract, the plan and the reference
did" as a claim that those three specs carry seals. They do not: the only
viz seal under .trinity/seals/ is viz_VizDistillGraph.json. The sentence now
says that none of the three is sealed.

The two "(checked 2026-10-25)" notes about gaps in the reference petal
now name what they were checked against, the reference as merged in
#12193, so a reader can verify them later.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag deleted the claude/t27os-interactive-viz-mvp-57fe52 branch October 26, 2026 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

T27F viz MVP: visualization contract, reference petal S SPECS, 27-petal plan

1 participant