Skip to content

spec(t27os): the AGENTS page -- every agent's current work and the Queen's ledger in the window (Refs #12164; Refs Trinity-S-AI-DNA/t27os#3) - #12165

Merged
gHashTag merged 2 commits into
masterfrom
spec/t27os-agents-page
Oct 25, 2026
Merged

gHashTag merged 2 commits into
masterfrom
spec/t27os-agents-page

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

The owner has asked 4+ times (thread Trinity-S-AI-DNA/t27os#3, again on 2026-10-25): he cannot see IN REAL TIME what the agents are doing or how the Queen manages them. The window showed feeds and lanes, but no per-agent current work and no view of the delegation decisions. The HIVE feed job already aggregates everything into ~/.t27os/hive/feed.txt; this adds the sixth tool page that joins it per agent.

The page: letter G (label ARENA -> AGENTS in TOOL_PAGES and petal_menu WORLD_NAMES, so the equality test holds; the tool keeps its name t27g), refresh 30 s, three sections top to bottom:

  • THIS AGENT -- the Z row: name, heartbeat age, current lanes with elapsed (the window's own lanes field, kept fresh while the page is open), and the trigit queue state from the G rows.
  • THE SWARM -- A + B rows joined by dv_hosts: one card per agent -- alive/dead by heartbeat age, its CURRENT lanes parsed from its payload (the devices.t27 parsers), and the lanes it pushed.
  • THE QUEEN'S LEDGER -- C rows joined with B rows: every claim as a delegation line -- held by , pushed with holder unknown, or open.

Changes:

  • agent_parts.t27 (+26/-7): PAGE_AGENTS=6, PAGE_KINDS 7, PERIOD_AGENTS 30 s (heartbeats beat every 5 min, so 30 s is ten looks at each beat), page_kind(7)/page_period arm; the five-pages test becomes six (letter G named), the cadence test gains the 1029/1030 pair. 23/23, 0 vacuous.
  • devices.t27 (+219): dv_claims -- the C x B join with DC_OPEN/DC_PUSHED/DC_HELD; dv_pushed_issues -- the B rows naming a host; the page geometry (ag_* constants, fit functions, the ledger's reserved room). Negative controls: a malformed claim (non-numeric issue, empty, extra fields) is skipped and its neighbours stand; a B row whose host field a name may not carry does not become a holder; a malformed pushed-issue is skipped mid-walk. 30/30, 0 vacuous.
  • glass_window.t27 (+302/-2): TBO_AGENTS=83968 +6144 appended at the top of the TB chain (TB_SIZE 83968 -> 90112, every older offset keeps its value); TPG_AG_* words 232-236 in the verified free run above the orbit's HP block (O_HP + 32) and below TPG_G_PID=239; ag_tick on the lg_tick pattern running the SAME dv_feed_cmd job as HIVE while the page is open -- the coupling is documented in the spec: one petal is open at a time, so the two ticks never race, and the page renders the feed on disk until its own job lands; draw_agents_page + the dispatch; the layout asserts extended at BOTH sites; the lanes table and hive_lanes now refresh while this page is open too, so THIS AGENT reads live.
  • live_data.t27 (+4/-2): PETALS follows WORLD_NAMES -- ARENA -> AGENTS and LAB -> LOGS, repairing the miss of spec(t27os): the LOGS page -- the night loop's own log rendered in the window (Refs Trinity-S-AI-DNA/t27os#23) #12002 (the live list had kept LAB while the built-in said LOGS; the PETALS == WORLD_NAMES assert in glass_window could not catch it locally because glass_window's runtime report is blocked by the zig @extern issue). LIVE_REV 2 so running windows pick the corrected names up within a minute.

Verification (the bar of #12002, met): t27c check green on all five files; test-report green on agent_parts.t27 (23/23) and devices.t27 (30/30), 0 vacuous; glass_window.t27 typecheck OK and its test-report BLOCKED by the same pre-existing local zig @extern issue, unchanged.

Refs #12164
Refs Trinity-S-AI-DNA/t27os#3

…een's ledger in the window (Refs #12164; Refs Trinity-S-AI-DNA/t27os#3)

The owner has asked 4+ times: he cannot see in real time what the agents
are doing or how the Queen manages them. The HIVE feed job already
aggregates it into ~/.t27os/hive/feed.txt (A heartbeats carrying lanes=,
C claims, B pushed lanes, Z this machine, G trigit queue); no page joined
it per agent. This adds the sixth tool page, letter G (label ARENA ->
AGENTS in TOOL_PAGES and petal_menu WORLD_NAMES, so the equality test
holds; the tool keeps its name t27g), refreshed every 30 s by the same
dv_feed_cmd job HIVE runs. The coupling is documented in the spec: one
petal is open at a time, so the two ticks never race, and the page renders
whatever feed is on disk until its own job lands.

Three sections, top to bottom: THIS AGENT (the Z row: name, heartbeat
age, current lanes with elapsed from the window's own field, the trigit
queue from the G rows), THE SWARM (A + B rows joined by dv_hosts: one
card per agent -- alive by heartbeat age, its current lanes parsed from
its payload, the lanes it pushed), THE QUEEN'S LEDGER (C rows joined with
B rows: each claim held by a host, pushed by an unnamed one, or open).

- agent_parts.t27: PAGE_AGENTS=6, PAGE_KINDS 7, PERIOD_AGENTS 30 s,
  page_kind(7)/page_period arm; the five-pages test becomes six (letter G
  named) and the cadence test gains the 1029/1030 pair. 23/23, 0 vacuous.
- devices.t27: dv_claims (the C x B join; DC_OPEN/DC_PUSHED/DC_HELD; a
  malformed claim or holder is skipped and its neighbours stand -- the
  negative control), dv_pushed_issues, the page geometry (ag_* constants
  and fit functions, the ledger always keeps its reserved room). 30/30
  tests, 0 vacuous.
- glass_window.t27: TBO_AGENTS=83968 +6144 appended at the top of the TB
  chain (TB_SIZE 90112; every older offset keeps its value), TPG_AG_*
  words 232-236 in the verified free run above the orbit's HP block and
  below TPG_G_PID, ag_tick on the lg_tick pattern, draw_agents_page and
  its dispatch, the layout asserts extended at both sites; the lanes
  table now refreshes while this page is open too, so THIS AGENT reads
  live. test-report of glass_window stays BLOCKED by the local zig
  @extern issue -- typecheck plus the two test-reports green is the bar
  of #12002, met.
- live_data.t27: PETALS follows WORLD_NAMES (ARENA -> AGENTS, and LAB ->
  LOGS, repairing the miss of #12002 -- the two lists had drifted, which
  only a running window could have shown; LIVE_REV 2 so running windows
  pick the corrected names up).
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 01:53:01 UTC

Summary

Status Count
Total Open PRs 44
PRs with Failing Checks 41
PRs with All Checks Green 3
READY 3
FAILING 41
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).

…enu, agent_parts, devices (the spec bytes and all gen hashes moved; sealed with the PR tree's own compiler, and check_seal_coverage passes: 3056 seals, 2943 hold) (Refs #12164; Refs Trinity-S-AI-DNA/t27os#3)
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 02:03:25 UTC

Summary

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

These columns do not partition: 3 + 37 + 0 + 0 = 40, and there are 43 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).

@gHashTag

Copy link
Copy Markdown
Collaborator Author

night tick 150: lab dispatched on head 7706c87 (challenge ed9c34f5, specs agent_parts devices glass_window live_data). The receipt lands at runs/7706c8796f10ba69cf28513fce7159fc30a837f6.*.json in Trinity-S-AI-DNA/t27os. glass_window has @extern, so the t27c leg reports it blocked; the t27b leg is the one that counts there.

@gHashTag

Copy link
Copy Markdown
Collaborator Author

Night tick 151, T27 OS lab:

  • Previous head 7706c87, run 40153266799 (t27c leg): agent_parts 23/23, devices 30/30, live_data 1/1, all FAIL=0 and vacuous=0. The run went red only because tick 150 included specs/t27os/glass_window.t27, which uses @extern and so t27c reports it blocked by design. That was our dispatch mistake, not a defect in this PR.
  • New head 2245d49 dispatched (challenge 92fe6edf, run 40154307886) with petal_menu, agent_parts, devices and live_data, without glass_window. The receipt will land at Trinity-S-AI-DNA/t27os runs/2245d4968b8bb1e7fcf763edc255a083c31cc9b3.*.json.

@gHashTag

Copy link
Copy Markdown
Collaborator Author

Night tick 151 lab receipt for head 2245d49, run 40154307886 (challenge 92fe6edf), result: success. t27c leg: petal_menu 12/12, agent_parts 23/23, devices 30/30, live_data 1/1, all with FAIL=0 vacuous=0 blocked=0. Receipt: Trinity-S-AI-DNA/t27os runs/2245d4968b8bb1e7fcf763edc255a083c31cc9b3.92fe6edf.json

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.

1 participant