@sabaiway/agent-workflow-kit 5.1.0 → 5.3.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 (53) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/SKILL.md +13 -1
  3. package/bridges/antigravity-cli-bridge/SKILL.md +14 -3
  4. package/bridges/antigravity-cli-bridge/bin/agy-review.sh +220 -30
  5. package/bridges/antigravity-cli-bridge/bin/agy-review.test.mjs +264 -8
  6. package/bridges/antigravity-cli-bridge/bin/agy.sh +12 -2
  7. package/bridges/antigravity-cli-bridge/bin/agy.test.mjs +18 -0
  8. package/bridges/antigravity-cli-bridge/capability.json +19 -13
  9. package/bridges/antigravity-cli-bridge/references/driving-agy.md +3 -2
  10. package/bridges/codex-cli-bridge/SKILL.md +17 -7
  11. package/bridges/codex-cli-bridge/bin/codex-exec.sh +156 -36
  12. package/bridges/codex-cli-bridge/bin/codex-exec.test.mjs +228 -4
  13. package/bridges/codex-cli-bridge/bin/codex-review.sh +205 -34
  14. package/bridges/codex-cli-bridge/bin/codex-review.test.mjs +276 -5
  15. package/bridges/codex-cli-bridge/capability.json +10 -7
  16. package/bridges/codex-cli-bridge/references/driving-codex.md +7 -5
  17. package/bridges/codex-cli-bridge/references/sandbox-and-flags.md +26 -12
  18. package/capability.json +1 -1
  19. package/package.json +1 -1
  20. package/references/modes/flow-writer.md +37 -0
  21. package/references/modes/gates.md +4 -4
  22. package/references/modes/procedures.md +4 -2
  23. package/references/modes/receipt-deadline.md +16 -0
  24. package/references/modes/review-state.md +1 -1
  25. package/references/modes/set-flow.md +22 -0
  26. package/references/scripts/archive-decisions.mjs +340 -15
  27. package/references/scripts/archive-decisions.test.mjs +522 -2
  28. package/tools/cheap-agents.mjs +8 -2
  29. package/tools/commands.mjs +24 -2
  30. package/tools/commit-guard.mjs +44 -9
  31. package/tools/core-evidence.mjs +25 -22
  32. package/tools/detect-backends.mjs +33 -11
  33. package/tools/dispatch-record.mjs +926 -0
  34. package/tools/doc-parity.mjs +21 -6
  35. package/tools/flow-check.mjs +842 -0
  36. package/tools/flow-record.mjs +795 -0
  37. package/tools/flow-store-read.mjs +114 -0
  38. package/tools/flow-store.mjs +1178 -0
  39. package/tools/flow-writer.mjs +1265 -0
  40. package/tools/fs-read-nofollow.mjs +128 -0
  41. package/tools/gates-declaration.mjs +184 -0
  42. package/tools/gates-init.mjs +59 -17
  43. package/tools/orchestration-config.mjs +87 -10
  44. package/tools/orchestration-write.mjs +3 -3
  45. package/tools/plan-files.mjs +35 -0
  46. package/tools/procedures.mjs +75 -11
  47. package/tools/receipt-deadline.mjs +242 -0
  48. package/tools/recipes.mjs +21 -0
  49. package/tools/repo-lex.mjs +22 -0
  50. package/tools/review-state.mjs +240 -80
  51. package/tools/run-gates.mjs +361 -139
  52. package/tools/set-flow.mjs +465 -0
  53. package/tools/velocity-profile.mjs +8 -2
@@ -35,9 +35,13 @@ import {
35
35
  import { SKIPPED_READONLY } from './setup-backends.mjs';
36
36
  import { LATENT_ARM_NOTICE } from './review-state.mjs';
37
37
  import { QUEUE_SHARED_RULE, LANDING_FROM_MAIN, NO_DEPENDENCIES_POSTURE, CLEANUP_OWNERSHIP_RULE, INCLUDE_IDENTITY_RULE, RESUME_VERIFY_RULE } from './worktrees.mjs';
38
- // The flow tolerate contract (tolerate-only release): the accepted schema version + the honest
39
- // lagging-kit sentence, both owned by the config validator and pinned into procedures.md.
38
+ // The flow contract constants: the accepted schema version + the honest lagging-kit sentence
39
+ // (owned by the config validator), and the set-flow bookkeeping-floor residual (owned by the
40
+ // arming writer) — each pinned byte-exact into its mode doc(s).
40
41
  import { FLOW_SCHEMA_VERSION, FLOW_LAGGING_KIT_CONTRACT } from './orchestration-config.mjs';
42
+ import { FLOW_BOOKKEEPING_FLOOR_RESIDUAL } from './set-flow.mjs';
43
+ import { FLOW_ARMED_HALVES_HEADER } from './procedures.mjs';
44
+ import { RECEIPT_DEADLINE_CONTRACT } from './receipt-deadline.mjs';
41
45
 
42
46
  const KIT_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..');
43
47
 
@@ -49,6 +53,8 @@ const SETUP_DOC = 'references/modes/setup.md';
49
53
  const REVIEW_STATE_DOC = 'references/modes/review-state.md';
50
54
  const WORKTREES_DOC = 'references/modes/worktrees.md';
51
55
  const PROCEDURES_DOC = 'references/modes/procedures.md';
56
+ const SET_FLOW_DOC = 'references/modes/set-flow.md';
57
+ const RECEIPT_DEADLINE_DOC = 'references/modes/receipt-deadline.md';
52
58
 
53
59
  // A typed usage failure (exit 2) for the CLI parser — the codebase's typed-error idiom (no classes).
54
60
  const usageFail = (message) => Object.assign(new Error(message), { exitCode: 2 });
@@ -120,13 +126,22 @@ export const BINDINGS = Object.freeze([
120
126
  // a reworded mode doc dropping the per-owned-path × session-never-probed contract fails this pin
121
127
  // plus the gate.
122
128
  valueBinding('resume-verify-rule', RESUME_VERIFY_RULE, RESUME_VERIFY_RULE, [WORKTREES_DOC]),
123
- // The flow tolerate contract: (a) the accepted NUMERIC `flow` schema version renders into the
129
+ // The flow contract pins: (a) the accepted NUMERIC `flow` schema version renders into the
124
130
  // procedures.md allowed-shape contract line — a bumped constant with an unchanged doc fails this
125
131
  // pin plus the gate; (b) the honest lagging-kit sentence — what a pre-flow kit does on meeting a
126
- // `flow` block, and that this release enforces nothing against such a reader — renders as the
127
- // exact exported sentence into the exit-1 contract line, so the admission cannot be reworded away.
132
+ // `flow` block, and exactly what the now-armed set-flow floor can and cannot reach — renders as
133
+ // the exact exported sentence into BOTH flow-facing mode docs (amended with set-flow, P12);
134
+ // (c) the set-flow bookkeeping-floor residual — the honest boundary of what the arming floors
135
+ // decide — renders byte-exact into the set-flow mode doc; (d) the procedures armed-halves header —
136
+ // the session-start flow-state surface (P8) — renders into procedures.md.
128
137
  valueBinding('flow-schema-version', FLOW_SCHEMA_VERSION, `\`"schema": ${FLOW_SCHEMA_VERSION}\``, [PROCEDURES_DOC]),
129
- valueBinding('flow-lagging-kit', FLOW_LAGGING_KIT_CONTRACT, FLOW_LAGGING_KIT_CONTRACT, [PROCEDURES_DOC]),
138
+ valueBinding('flow-lagging-kit', FLOW_LAGGING_KIT_CONTRACT, FLOW_LAGGING_KIT_CONTRACT, [PROCEDURES_DOC, SET_FLOW_DOC]),
139
+ valueBinding('flow-bookkeeping-floor-residual', FLOW_BOOKKEEPING_FLOOR_RESIDUAL, FLOW_BOOKKEEPING_FLOOR_RESIDUAL, [SET_FLOW_DOC]),
140
+ valueBinding('flow-armed-halves-header', FLOW_ARMED_HALVES_HEADER, FLOW_ARMED_HALVES_HEADER, [PROCEDURES_DOC]),
141
+ // The receipt-deadline runner's contract sentence (Plan-3 Phase 4.1): arrival — never obligation
142
+ // satisfaction — is the tool's identity; a mode doc silently drifting off it would re-open the
143
+ // #50 misclassification this runner exists to close.
144
+ valueBinding('receipt-deadline-contract', RECEIPT_DEADLINE_CONTRACT, RECEIPT_DEADLINE_CONTRACT, [RECEIPT_DEADLINE_DOC]),
130
145
  ].map((b) => Object.freeze(b)));
131
146
 
132
147
  // ── the pure checker (readText is injectable for hermetic tests) ────────────────────────