@zalom/plastic 2.0.0-alpha.2 → 2.0.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/agents/plastic-enforcer.md +3 -1
  2. package/agents/plastic-executor.md +9 -3
  3. package/bin/test +24 -4
  4. package/hooks/call-budget +4 -0
  5. package/hooks/hooks.json +24 -0
  6. package/hooks/message-display +134 -0
  7. package/hooks/statusline +4 -27
  8. package/package.json +2 -2
  9. package/scripts/agent-report +8 -2
  10. package/scripts/dashboard.rb +297 -18
  11. package/scripts/doctor.rb +652 -5
  12. package/scripts/end-intent +219 -0
  13. package/scripts/hook-call-budget +222 -0
  14. package/scripts/hook-capture +25 -113
  15. package/scripts/hook-message-display +81 -0
  16. package/scripts/hook-record +12 -4
  17. package/scripts/hook-session-start +45 -7
  18. package/scripts/index-projection +74 -0
  19. package/scripts/intent-screen +77 -0
  20. package/scripts/lib/action_graph_shim.rb +277 -0
  21. package/scripts/lib/arm.rb +26 -1
  22. package/scripts/lib/atomic_write.rb +31 -0
  23. package/scripts/lib/compact_instructions.rb +5 -5
  24. package/scripts/lib/core_integrity.rb +71 -0
  25. package/scripts/lib/dashboard_screen.rb +40 -0
  26. package/scripts/lib/day_summary.rb +7 -2
  27. package/scripts/lib/doctor_core.rb +102 -5
  28. package/scripts/lib/doctor_session_ledger.rb +52 -0
  29. package/scripts/lib/graph_edges.rb +137 -0
  30. package/scripts/lib/graph_file.rb +246 -0
  31. package/scripts/lib/graph_tree.rb +98 -0
  32. package/scripts/lib/guarded_append.rb +155 -0
  33. package/scripts/lib/hook_registry.rb +28 -2
  34. package/scripts/lib/hook_replay.rb +211 -0
  35. package/scripts/lib/index_projection.rb +201 -0
  36. package/scripts/lib/installer_core.rb +141 -6
  37. package/scripts/lib/intent_screen.rb +309 -0
  38. package/scripts/lib/intent_screen_ansi.rb +262 -0
  39. package/scripts/lib/message_display.rb +586 -0
  40. package/scripts/lib/meter_watch.rb +179 -0
  41. package/scripts/lib/node_file.rb +214 -0
  42. package/scripts/lib/node_ids.rb +99 -0
  43. package/scripts/lib/node_ledger.rb +377 -0
  44. package/scripts/lib/node_packet.rb +908 -0
  45. package/scripts/lib/node_return.rb +199 -0
  46. package/scripts/lib/node_worktree.rb +337 -0
  47. package/scripts/lib/outcome_report.rb +440 -0
  48. package/scripts/lib/packet_wrapper.rb +132 -0
  49. package/scripts/lib/ready_set.rb +462 -0
  50. package/scripts/lib/release_guard.rb +16 -0
  51. package/scripts/lib/report_screen.rb +1967 -0
  52. package/scripts/lib/roadmap_graph.rb +210 -0
  53. package/scripts/lib/roadmap_migration.rb +95 -0
  54. package/scripts/lib/roadmap_queue.rb +155 -5
  55. package/scripts/lib/roadmap_render.rb +150 -0
  56. package/scripts/lib/roadmap_savepoint.rb +62 -12
  57. package/scripts/lib/runner_absorb.rb +620 -0
  58. package/scripts/lib/runner_answer.rb +206 -0
  59. package/scripts/lib/runner_core.rb +194 -0
  60. package/scripts/lib/runner_dispatch.rb +506 -0
  61. package/scripts/lib/runner_policy.rb +173 -0
  62. package/scripts/lib/runner_proposals.rb +275 -0
  63. package/scripts/lib/runner_rewind.rb +201 -0
  64. package/scripts/lib/runner_sweep.rb +231 -0
  65. package/scripts/lib/savepoint.rb +149 -12
  66. package/scripts/lib/screen_paint.rb +555 -0
  67. package/scripts/lib/screens/dashboard.rb +20 -0
  68. package/scripts/lib/screens/plan.rb +18 -0
  69. package/scripts/lib/screens/roadmap.rb +15 -0
  70. package/scripts/lib/session_git.rb +49 -18
  71. package/scripts/lib/session_ledger.rb +128 -0
  72. package/scripts/lib/session_usage.rb +190 -0
  73. package/scripts/lib/verify_intent.rb +33 -0
  74. package/scripts/lib/work_graph_validator.rb +201 -0
  75. package/scripts/meter-watch +57 -0
  76. package/scripts/node-packet +92 -0
  77. package/scripts/node-transition +291 -0
  78. package/scripts/outcome-report +74 -0
  79. package/scripts/plastic-lock +8 -1
  80. package/scripts/read-config +3 -3
  81. package/scripts/ready-set +126 -0
  82. package/scripts/release-check +118 -0
  83. package/scripts/report-screen +281 -0
  84. package/scripts/roadmap-graph +119 -0
  85. package/scripts/roadmap-savepoint +7 -0
  86. package/scripts/runner +397 -0
  87. package/scripts/savepoint-note +69 -0
  88. package/scripts/session-usage +56 -0
  89. package/scripts/spawn-preamble +9 -2
  90. package/scripts/validate-work-graph +39 -0
  91. package/scripts/verify-intent +2 -1
  92. package/skills/auto/SKILL.md +41 -34
  93. package/skills/auto/references/human-report-contract.md +136 -54
  94. package/skills/conventions/references/locks-and-worktrees.md +12 -0
  95. package/skills/dashboard/SKILL.md +13 -2
  96. package/skills/dashboard/templates/dashboard-global.md +1 -1
  97. package/skills/dashboard/templates/dashboard-project.md +2 -2
  98. package/skills/doctor/SKILL.md +10 -4
  99. package/skills/intent-continuing/SKILL.md +51 -41
  100. package/skills/intent-continuing/references/board-fill.md +9 -0
  101. package/skills/intent-continuing/references/boarding-matrix.md +6 -5
  102. package/skills/intent-continuing/references/context-management.md +1 -1
  103. package/skills/intent-ending/SKILL.md +36 -16
  104. package/skills/intent-executing/SKILL.md +21 -5
  105. package/skills/intent-executing/implementer-prompt.md +6 -1
  106. package/skills/intent-speccing/SKILL.md +7 -4
  107. package/skills/releasing/SKILL.md +39 -0
  108. package/skills/releasing/references/promotion-and-tagging.md +10 -6
  109. package/skills/releasing/references/release-lines.md +1 -1
  110. package/skills/roadmap/SKILL.md +26 -0
  111. package/skills/roadmap/references/file-format.md +10 -0
  112. package/templates/config.yml +3 -3
  113. package/templates/dashboard-screen.md +22 -0
  114. package/templates/display-fixture.md +21 -0
  115. package/templates/graph.md +16 -0
  116. package/templates/intent-screen.md +17 -0
  117. package/templates/node-decision.md +11 -0
  118. package/templates/node-research.md +11 -0
  119. package/templates/node-verify.md +13 -0
  120. package/templates/node-work.md +22 -0
  121. package/templates/outcome.md +19 -1
  122. package/templates/report-plan.md +15 -0
  123. package/templates/report-roadmap-delivered.md +10 -0
  124. package/templates/report-roadmap-plan.md +9 -0
  125. package/templates/report-roadmap-state.md +9 -0
  126. package/templates/report-state.md +11 -0
  127. package/templates/roadmap.md +13 -0
@@ -0,0 +1,11 @@
1
+ ---
2
+ node: d1
3
+ kind: decision
4
+ files: []
5
+ budget: 20000
6
+ ---
7
+ # d1 - <the decision to make>
8
+
9
+ ## Question
10
+ <The question needing an owner ruling, framed so a yes/no answer or a pick
11
+ from a short list settles it.>
@@ -0,0 +1,11 @@
1
+ ---
2
+ node: r1
3
+ kind: research
4
+ files: []
5
+ budget: 60000
6
+ ---
7
+ # r1 - <what to find out>
8
+
9
+ ## Deposit
10
+ <Where the finding lands: a resources/ file, an artifact URL, or a ruling
11
+ recorded in the intent's ## Decisions.>
@@ -0,0 +1,13 @@
1
+ ---
2
+ node: v1
3
+ kind: verify
4
+ files: []
5
+ budget: 40000
6
+ ---
7
+ # v1 - <what this node verifies>
8
+
9
+ <What this node checks, and why it gates the work nodes it needs.>
10
+
11
+ ## Criteria
12
+ - <acceptance criterion one>
13
+ - <acceptance criterion two>
@@ -0,0 +1,22 @@
1
+ ---
2
+ node: n1
3
+ kind: work
4
+ files: [path/to/file.rb, test/path_to_file_test.rb]
5
+ budget: 100000
6
+ ---
7
+ # n1 - <one-line description of what this node builds>
8
+
9
+ <Why this node exists and what it changes, in a sentence or two.>
10
+
11
+ ## n1 failure-mode matrix
12
+ | Operation | Failure mode | Test |
13
+ | --- | --- | --- |
14
+ | <operation> | <what goes wrong without this code, and its consequence> | `some_test#test_name` |
15
+
16
+ ## Steps
17
+ 1. Red: the matrix's tests above, committed before any code.
18
+ 2. Write the code that makes them pass.
19
+ 3. Green, then the whole suite at its baseline.
20
+
21
+ ## Proven by
22
+ (filled at close from the ledger: commit, suite counts, review verdict)
@@ -7,10 +7,28 @@ disposition: delivered|abandoned
7
7
  (what was delivered)
8
8
 
9
9
  ## Delivered
10
- - ...
10
+ <!-- One row per thing delivered, in plain wording a reader recognizes, not
11
+ an implementation summary; the technical detail belongs in ## Summary. Each
12
+ row's label must appear as a standalone token in an actions/*.md OR
13
+ nodes/*.md heading that owns the matrix table (for example "### S1 - ..."
14
+ with a table beneath it proves row S1, or "## n1 failure-mode matrix" proves
15
+ row n1); that heading's matrix rows become the row's Proven-by cell on the
16
+ delivered screen (intent 317 D19, 317a, 322 D1r, 334 D10r). Readers resolve
17
+ actions/ first, then nodes/ (334 D15r). A label with no owning heading falls
18
+ back to a matrix row cell that carries it, when one under a heading named
19
+ "matrix" exists (322 D3r). -->
20
+ | Row | What |
21
+ | --- | --- |
22
+ | S1 | ... |
11
23
 
12
24
  ## Verification
13
25
  - <acceptance criterion> — verified by ... → result
14
26
 
27
+ ## Needs you
28
+ <!-- The literal None, or a table shaped | N | What | Why | with one row per
29
+ open owner action. Prose is tolerated by the reader but renders as a single
30
+ untyped row - write the table. -->
31
+ None
32
+
15
33
  ## Follow-ups
16
34
  None
@@ -0,0 +1,15 @@
1
+ ## ▶ {{id}} · {{name}} · plan
2
+
3
+ | | | |
4
+ | --- | --- | --- |
5
+ {{fields.rows}}
6
+
7
+ **Steps**
8
+
9
+ | Step | Action | Detail |
10
+ | --- | --- | --- |
11
+ {{steps.rows}}
12
+
13
+ **Risks**
14
+
15
+ {{risks.block}}
@@ -0,0 +1,10 @@
1
+ ## ✔ {{slug}} · roadmap · delivered
2
+ {{meta}}
3
+
4
+ **Delivered**
5
+
6
+ {{delivered.table}}
7
+
8
+ **Log**
9
+
10
+ {{log.table}}
@@ -0,0 +1,9 @@
1
+ ## ▶ {{slug}} · roadmap · plan
2
+
3
+ | | | |
4
+ | --- | --- | --- |
5
+ {{fields.rows}}
6
+
7
+ **Batches**
8
+
9
+ {{entries.table}}{{tree}}
@@ -0,0 +1,9 @@
1
+ ## ▶ {{slug}} · roadmap
2
+
3
+ | | | |
4
+ | --- | --- | --- |
5
+ {{fields.rows}}
6
+
7
+ **Batches**
8
+
9
+ {{entries.table}}
@@ -0,0 +1,11 @@
1
+ ## ▶ {{id}} · {{name}}
2
+
3
+ | | | |
4
+ | --- | --- | --- |
5
+ {{fields.rows}}
6
+
7
+ **Steps**
8
+
9
+ | Step | Status | Detail |
10
+ | --- | --- | --- |
11
+ {{steps.rows}}
@@ -9,6 +9,19 @@ roadmap's goal is reached, move this file from `roadmaps/{slug}.md` to
9
9
  (a checkable prose condition — one or a few sentences a human or coordinator reads to decide the
10
10
  roadmap is done. Not an executable checker.)
11
11
 
12
+ ## Graph
13
+ Edges, `needs` only; the head needs the tail done. The literal target `nothing` declares a root
14
+ (an entry needing nothing). Batches below are computed from these edges, not hand-ordered; run
15
+ `roadmap-graph check <this file>` to see the computed batches and `roadmap-graph render <this
16
+ file>` to write them back, or `roadmap-graph migrate <this file>` on an existing graphless
17
+ roadmap to derive edges from its current batch order instead of hand-writing them here.
18
+
19
+ Grammar (fenced below so this example is never read as a real edge):
20
+ ```
21
+ - <intent-id> needs nothing
22
+ - <intent-id> needs <intent-id>
23
+ ```
24
+
12
25
  ## Batches
13
26
  Entries in a batch are parallel-safe; batches run top to bottom. The checkbox is checked once an
14
27
  entry is delivered, unchecked otherwise; the trailing token after the em-dash is the precise