devrites 4.1.0 → 4.2.0

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 (84) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/docs/engine/commands.md +65 -6
  4. package/engine/go.mod +1 -1
  5. package/engine/internal/gate/gate.go +154 -46
  6. package/engine/internal/gate/gate_test.go +290 -2
  7. package/engine/internal/gate/readiness_binding.go +66 -100
  8. package/engine/internal/gate/readiness_binding_test.go +126 -3
  9. package/engine/internal/lib/resolve.go +6 -6
  10. package/engine/internal/state/cmd/workflowmanifest/main.go +32 -3
  11. package/engine/internal/state/feature.go +1 -100
  12. package/engine/internal/state/observation.go +584 -0
  13. package/engine/internal/state/observation_open_other.go +9 -0
  14. package/engine/internal/state/observation_open_unix.go +12 -0
  15. package/engine/internal/state/observation_test.go +960 -0
  16. package/engine/internal/state/observation_unix_test.go +68 -0
  17. package/engine/internal/state/schema.go +60 -160
  18. package/engine/internal/state/state_test.go +489 -101
  19. package/engine/internal/state/status.go +67 -48
  20. package/engine/tests/adr_0004_required_by_phase_test.go +16 -13
  21. package/engine/tests/adr_0011_define_plan_test.go +14 -12
  22. package/engine/tests/gate_test.go +403 -28
  23. package/engine/tests/workspace_observation_migration_test.go +1065 -0
  24. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +1 -10
  25. package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  26. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -9
  27. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
  28. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
  29. package/pack/.claude/skills/rite-autocomplete/SKILL.md +98 -146
  30. package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +11 -5
  31. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +96 -134
  32. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +92 -131
  33. package/pack/.claude/skills/rite-build/SKILL.md +51 -79
  34. package/pack/.claude/skills/rite-build/reference/phase-contract.md +3 -17
  35. package/pack/.claude/skills/rite-plan/SKILL.md +17 -17
  36. package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +11 -1
  37. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +10 -3
  38. package/pack/.claude/skills/rite-prove/SKILL.md +95 -153
  39. package/pack/.claude/skills/rite-vet/SKILL.md +121 -174
  40. package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -2
  41. package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -6
  42. package/pack/.claude/skills/rite-vet/reference/depth.md +10 -3
  43. package/pack/.claude/skills/rite-vet/reference/review-axes.md +12 -4
  44. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +1 -10
  45. package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  46. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -9
  47. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
  48. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
  49. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +98 -146
  50. package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +11 -5
  51. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +96 -134
  52. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +92 -131
  53. package/pack/generated/claude/skills/rite-build/SKILL.md +51 -79
  54. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +3 -17
  55. package/pack/generated/claude/skills/rite-plan/SKILL.md +17 -17
  56. package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +11 -1
  57. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +10 -3
  58. package/pack/generated/claude/skills/rite-prove/SKILL.md +95 -153
  59. package/pack/generated/claude/skills/rite-vet/SKILL.md +121 -174
  60. package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -2
  61. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -6
  62. package/pack/generated/claude/skills/rite-vet/reference/depth.md +10 -3
  63. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +12 -4
  64. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +1 -10
  65. package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  66. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -9
  67. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
  68. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
  69. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +98 -146
  70. package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +11 -5
  71. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +96 -134
  72. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +92 -131
  73. package/pack/generated/codex/skills/rite-build/SKILL.md +51 -79
  74. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +3 -17
  75. package/pack/generated/codex/skills/rite-plan/SKILL.md +17 -17
  76. package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +11 -1
  77. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +10 -3
  78. package/pack/generated/codex/skills/rite-prove/SKILL.md +95 -153
  79. package/pack/generated/codex/skills/rite-vet/SKILL.md +121 -174
  80. package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -2
  81. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -6
  82. package/pack/generated/codex/skills/rite-vet/reference/depth.md +10 -3
  83. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +12 -4
  84. package/package.json +1 -1
@@ -3,6 +3,14 @@
3
3
  `eng-review.md` records review; `test-plan.md` drives Build. Fold accepted findings
4
4
  into `plan.md`/`tasks.md`; prose alone never changes Build.
5
5
 
6
+ Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
7
+
8
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
9
+ - `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
10
+ - `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
11
+ - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
12
+ <!-- END RESLICE ROUTE-TO-ACTION -->
13
+
6
14
  ## `eng-review.md`: the record
7
15
  Write/update `.devrites/work/<slug>/eng-review.md`; never clobber.
8
16
 
@@ -146,8 +154,7 @@ Conflicts: Lanes A and B both touch models/ — sequential or coordinate.
146
154
  ```
147
155
 
148
156
  ## Fold-back: the part the build follows
149
- Vet *is* the plan-hardening phase, so behavior-preserving refinements are written **directly**;
150
- acceptance/behavior changes route through the **Spec Drift Guard**.
157
+ Vet hardens the plan. Use the marked action before fold-back.
151
158
 
152
159
  - **Write directly into `plan.md` / `tasks.md`** (single canonical writer: you, not the reviewer):
153
160
  - `plan.md` §Scope boundaries ← "NOT in scope" items.
@@ -161,10 +168,7 @@ acceptance/behavior changes route through the **Spec Drift Guard**.
161
168
  failure-mode coverage, tightened slice scope, a split of a refactor+behavior slice into two.
162
169
  Adjust a slice's `Gate:` upward when vet reveals higher stakes (e.g. an unflagged migration).
163
170
  - Re-run the `plan.md` Readiness gate after edits; it must still pass.
164
- - **Route through the Spec Drift Guard** (record `drift.md` + a recorded decision, then `$rite-plan
165
- repair` for any structural reslice) for anything that **changes an acceptance criterion, product
166
- behavior, or the spec**, including a scope reduction that drops a criterion. A folded change with
167
- no recorded decision is the batch-dump failure.
171
+ - **Reslice:** marked action only; no local predicate.
168
172
  - **`decisions.md`:** one ADR per material call: `context · decision · why-not-the-alternative ·
169
173
  what-would-change-it`.
170
174
  - **`assumptions.md`:** every "we'll probably need X" demoted to an explicit assumption-to-verify,
@@ -10,6 +10,14 @@ A four-section deep-dive on a one-file reversible plan is wasteful; rubber-stamp
10
10
  migration-touching plan is dangerous. Match the effort to the stakes, but **always** leave a
11
11
  recorded engineering verdict and a coverage plan.
12
12
 
13
+ Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
14
+
15
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
16
+ - `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
17
+ - `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
18
+ - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
19
+ <!-- END RESLICE ROUTE-TO-ACTION -->
20
+
13
21
  ## Full pass when ANY trips
14
22
  - **Irreversible-risk contact:** the plan touches anything on the `afk-hitl.md` irreversible-risk
15
23
  list: destructive data migration, auth/authz boundary, public-API break, external-service
@@ -19,7 +27,7 @@ recorded engineering verdict and a coverage plan.
19
27
  `../../devrites-lib/reference/standards/tooling.md`) or an honest estimate) crosses
20
28
  module/service boundaries or has many dependents.
21
29
  - **Complexity:** `plan.md` touches **>8 files** or adds **>2 new services/modules/classes**.
22
- - **Multi-slice / multi-day**, or a new dependency / pattern / second design system.
30
+ - **Multi-slice / multi-day work**, new dependency/pattern/design system. Slice count alone never creates a human pause.
23
31
  - **The user asked**, or `--full`.
24
32
 
25
33
  Full pass = §0 scope challenge + all four axes (each walked finding-by-finding) + the failure-mode
@@ -46,8 +54,7 @@ triggers above, **never skipped**. Under the AFK gate ceiling:
46
54
  - **Auto-apply (no pause):** hardening findings: added test requirements, error-handling /
47
55
  failure-mode coverage, tightened scope, reuse-over-rebuild, dependency-order fixes
48
56
  (these never grow acceptance). Record the rationale in `decisions.md`.
49
- - **Blocking pause:** any finding that **grows scope, adds a slice, changes an acceptance
50
- criterion, or alters product behavior**.
57
+ - **Topology findings:** marked action; slice count alone never pauses.
51
58
  - **Always pause:** irreversible-risk findings, and any axis still below bar after the
52
59
  ≤3-iteration reviewer loop.
53
60
  - **Cross-model** is off by default; it runs only if `--cross-model` was explicitly armed.
@@ -3,6 +3,14 @@
3
3
  Run blocking §0, then the four axes and required outputs. Apply
4
4
  [`eng-lenses.md`](eng-lenses.md) throughout; calibrate every finding before presenting it.
5
5
 
6
+ Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
7
+
8
+ <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
9
+ - `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
10
+ - `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
11
+ - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
12
+ <!-- END RESLICE ROUTE-TO-ACTION -->
13
+
6
14
  ---
7
15
 
8
16
  ## §0. Scope challenge (blocking gate)
@@ -13,11 +21,11 @@ the settled spec requires.
13
21
  1. **What exists?** Find existing code/flows for each sub-problem (use the index per
14
22
  [`tooling.md`](../../devrites-lib/reference/standards/tooling.md)). Can the plan capture their outputs instead of building parallel work?
15
23
  Reuse → extend → build new; list missed reuse.
16
- 2. **Minimum diff.** Find the smallest acceptance-complete change. Flag non-blocking work;
17
- cutting acceptance requires Drift Guard.
24
+ 2. **Minimum diff.** Find the smallest contract-complete change. Flag non-blocking work;
25
+ use the marked action for topology cuts.
18
26
  3. **Complexity smell.** **>8 files** or **>2 new services/modules/classes** needs a justified
19
- complexity gate; otherwise harden to the smallest acceptance-preserving plan. Ask only if
20
- reduction changes acceptance or architecture policy.
27
+ complexity gate; otherwise harden to the smallest contract-complete plan. Use the
28
+ marked action for topology reduction.
21
29
  4. **Built-in check.** For each new pattern/infra/concurrency approach, dispatch
22
30
  `devrites-source-driven` to verify current framework/runtime support and cite it. Custom
23
31
  work where a built-in suffices is a scope-reduction finding.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "4.1.0",
3
+ "version": "4.2.0",
4
4
  "description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code and Codex",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/ViktorsBaikers/DevRites#readme",