Repository navigation
spec(t27f): petal N PULSE -- timeline, chart and badge from domain_pulse.t27 (Closes #12334, Refs #12173) - #12337
Conversation
…lse.t27 (Closes #12334, Refs #12173) Petal N, row N of specs/t27f/petal_viz_plan.t27: which domains are moving, which are quiet, which are blocked. Six sample domains (the menu petals A, D, J, N, U, Ti) over five ticks are drawn as a timeline (a row per domain, a cell per tick), a chart of the class counts at the tick and a badge. Every class is status_of of specs/t27os/domain_pulse.t27, every age bucket is bucket_of, and the logs are cut and timed by its rec_next and rec_time. The choice adds one recorded commit to one domain: at tick 1 domain 2 moves the counts from (1,2,2,1) to (2,2,1,1) and the badge drops from VERIFIED to DEMO; one test recomputes that answer by calling the source directly. The source's whole-log, red-list and name readers reach tables that t27c gen cannot splice into another module, so the sample domains, their logs, the red ticks and the clock are petal-side data, stated in the header. The rules applied to them are the source's. Reps 1792 = timeline + chart + badge, equal to row N of the plan. test-report: 29 tests, 29 pass, 0 fail, 0 vacuous, 1 invariant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary by t27-beesChecked by the t27 compilert27c parse, parse-complete and typecheck on each changed .t27 file at
Read by the modelThis PR adds a new visualization petal ( Worth a look
Read: 1 files, +1486 -0, the whole diff up to 60000 characters (the rest was not read). Head |
Closes #12334
Refs #12173
What
Petal N PULSE, row N of
specs/t27f/petal_viz_plan.t27. It answers: "Which of the 27 domains is moving, which is quiet, which is blocked?"One new file,
specs/t27f/petal_pulse_viz.t27. It is written againstviz_contract.t27in the order of the reference petal S and followsdocs/nona-03-manifest/VIZ-PETAL-GUIDE.md(#12282).Source, not copies. The rules come from
specs/t27os/domain_pulse.t27:status_of,status_textbucket_of,BUCKETSrec_next,rec_timeDAY,WEEKViews. A timeline (a row per sample domain, a cell per tick, each the domain's class at that tick), a chart (how many domains are in each class at the current tick) and a badge (the same counts, how many are moving, and the truth label), all over one
VizState. Every input goes throughviz_apply.Inputs. The tick stepper (0..4) and one choice:
cin 1..6 adds one recorded commit to domainc - 1at tick 1. Example:c = 3at tick 1 moves (active, warm, quiet, blocked) from (1, 2, 2, 1) to (2, 2, 1, 1), moves domain 2's age bucket from 7 to 0, and drops the badge from VERIFIED to DEMO throughviz_may_claim. One test recomputes that answer by callingstatus_ofandbucket_ofdirectly.Plan. The reps are 1792 (timeline + chart + badge), equal to row N of the plan, and
viz_plan_okholds. The plan is not edited.Glue the petal owns, called out
t27c gencannot splice into another module (they print as unresolved). So the petal records six sample domains (the menu petals A, D, J, N, U, Ti), one commit log per domain in the source's own record format, and the ticks at which a domain is red, since the source keeps no red list to read. The rules applied to that data are the source's. The header says so.tis T0 plus two days per tick.scan,commits_24h,last_active,spark, ...), for the reason above. No host draws this petal yet.Checks
t27c test-report specs/t27f/petal_pulse_viz.t27 --specs-dir specs: 29 tests, 29 pass, 0 fail, 0 vacuous, 1 invariant.python3 tools/dupe_scan.py: no new duplicate body.🤖 Generated with Claude Code