@gtrabanco/pi-agentic-workflow 0.11.2 → 0.13.1
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.
- package/README.md +26 -0
- package/dist/config/defaults.js +2 -0
- package/dist/config/load.d.ts +3 -0
- package/dist/config/load.js +3 -1
- package/dist/config/merge.js +2 -0
- package/dist/config/path-policy.d.ts +97 -0
- package/dist/config/path-policy.js +301 -0
- package/dist/config/schema.js +65 -2
- package/dist/config/types.d.ts +5 -0
- package/dist/extension/index.js +147 -5
- package/package.json +2 -2
- package/skills/audit-docs/SKILL.md +6 -5
- package/skills/audit-pr/SKILL.md +2 -2
- package/skills/design-feature/SKILL.md +2 -2
- package/skills/design-feature/references/REPAIR.md +12 -10
- package/skills/evidence-grounding/SKILL.md +1 -1
- package/skills/execute-phase/SKILL.md +2 -2
- package/skills/execute-phase/references/EXECUTION_CONTRACT.md +19 -0
- package/skills/execute-phase/references/FOLDING.md +9 -2
- package/skills/execute-phase/references/PREFLIGHT.md +28 -0
- package/skills/fold-findings/SKILL.md +6 -4
- package/skills/generate-docs/SKILL.md +1 -1
- package/skills/implementation-discovery/SKILL.md +1 -1
- package/skills/init-workspace/SKILL.md +2 -2
- package/skills/init-workspace/references/BOOTSTRAP_WRITE.md +7 -1
- package/skills/init-workspace/references/UPGRADE.md +7 -2
- package/skills/log-session/SKILL.md +1 -1
- package/skills/orchestration-envelope/SKILL.md +2 -2
- package/skills/orchestration-envelope/references/TURN_CONTRACT.md +52 -0
- package/skills/phase-contract/SKILL.md +1 -1
- package/skills/plan-feature/SKILL.md +5 -4
- package/skills/plan-feature-from-issue/SKILL.md +1 -1
- package/skills/plan-feature-scaffold/SKILL.md +2 -2
- package/skills/plan-feature-scaffold/references/SCAFFOLD_PROCESS.md +8 -0
- package/skills/plan-fix/SKILL.md +1 -1
- package/skills/planning-preflight/SKILL.md +1 -1
- package/skills/pre-execution-review/SKILL.md +2 -2
- package/skills/pre-execution-review/references/LEDGERS.md +43 -6
- package/skills/pre-execution-review/references/POLICY.md +40 -14
- package/skills/product-audit/SKILL.md +4 -4
- package/skills/product-audit/references/AUDIT_DIMENSIONS.md +1 -1
- package/skills/product-audit/references/AUDIT_PROCESS.md +1 -1
- package/skills/replan-findings/SKILL.md +4 -4
- package/skills/review-a11y/SKILL.md +1 -1
- package/skills/review-brand/SKILL.md +1 -1
- package/skills/review-change/SKILL.md +7 -5
- package/skills/review-change/references/OUTPUT_AND_GUARDRAILS.md +2 -1
- package/skills/review-change/references/PERSIST_AND_DECIDE.md +17 -11
- package/skills/review-code/SKILL.md +1 -1
- package/skills/review-debt/SKILL.md +1 -1
- package/skills/review-design/SKILL.md +1 -1
- package/skills/review-implementation/SKILL.md +2 -2
- package/skills/review-implementation/references/CLASSIFY.md +55 -0
- package/skills/review-perf/SKILL.md +1 -1
- package/skills/review-plan/SKILL.md +2 -2
- package/skills/review-plan/references/CHECKS.md +5 -2
- package/skills/review-plan/references/OUTPUT.md +6 -6
- package/skills/review-security/SKILL.md +1 -1
- package/skills/review-seo/SKILL.md +1 -1
- package/skills/review-spec/SKILL.md +2 -2
- package/skills/review-spec/references/CHECKS.md +4 -1
- package/skills/review-spec/references/OUTPUT.md +9 -5
- package/skills/review-verify/SKILL.md +1 -1
- package/skills/triage-issue/SKILL.md +1 -1
- package/skills/verification-contract/SKILL.md +8 -2
- package/skills/workflow-status/SKILL.md +2 -2
- package/skills/workflow-status/references/ENVELOPE_CORE.md +5 -4
- package/skills/workflow-status/references/SENSOR_CORE.md +5 -4
- package/skills/workflow-status/references/SENSOR_SIGNALS.md +3 -2
|
@@ -101,5 +101,8 @@ Each finding is one row of the receipt's `findings` array: stable `id`,
|
|
|
101
101
|
source | environment | runtime`), `claim` (what is wrong, with the section
|
|
102
102
|
pointer), `evidenceRefs` (≥ 1 — a finding without evidence is a hunch and gets
|
|
103
103
|
dropped), `verification` (`verified | unverified`), `resolution` (`open` on
|
|
104
|
-
emission). Material =
|
|
104
|
+
emission). Material = `medium` and above; a `low` row is a persisted report-note
|
|
105
|
+
the stage author resolves without a re-review, and `info` is immaterial.
|
|
106
|
+
Deflating a real defect below the `medium` minimum to unblock a pass is itself a
|
|
107
|
+
finding; a `PASS` may not carry an open or
|
|
105
108
|
unverified material row.
|
|
@@ -106,8 +106,8 @@ not authority.
|
|
|
106
106
|
| Verdict | Who repairs | What happens next |
|
|
107
107
|
|---|---|---|
|
|
108
108
|
| `SPEC-REVIEW-PASS` | nobody | `/plan-feature <NN-slug>` binds this receipt + exact snapshot digest |
|
|
109
|
-
| `SPEC-REVIEW-FAIL` | `design-feature` (the author) | one root-caused repair batch → new revision → re-review
|
|
110
|
-
| `NEEDS-DESIGN` | the human, through `design-feature` | dated `## Amendments`/`Product decisions` entry → new revision →
|
|
109
|
+
| `SPEC-REVIEW-FAIL` | `design-feature` (the author) | one root-caused repair batch → new revision → next cycle (default re-review; a recorded wording-only batch skips it) |
|
|
110
|
+
| `NEEDS-DESIGN` | the human, through `design-feature` | dated `## Amendments`/`Product decisions` entry → new revision → next cycle |
|
|
111
111
|
|
|
112
112
|
A finding whose `class` is `plan`, `source`, `environment`, or `runtime` does not
|
|
113
113
|
become work here: record it, keep it open, and route it to its owner (`review-plan`
|
|
@@ -117,8 +117,11 @@ schedules nothing.
|
|
|
117
117
|
Repeating this review follows the no-progress and convergence rules in
|
|
118
118
|
`pre-execution-review/references/POLICY.md` §4: a repeat needs a
|
|
119
119
|
changed snapshot or a named falsifiable question plus a new evidence route, and
|
|
120
|
-
|
|
121
|
-
further edit. A
|
|
120
|
+
a second consecutive repair/re-review cycle prints `CONVERGENCE-ANOMALY` before
|
|
121
|
+
any further edit. A third cycle never starts without explicit user instruction:
|
|
122
|
+
the orchestrator's `stop-review-loop-cap` refusal stops the invocation and names
|
|
123
|
+
`design-feature` as the human route, and a PASS resets the count. A
|
|
124
|
+
`design-feature` repair turn re-reads the union of open findings
|
|
122
125
|
from `planning-findings.md`, not just the newest receipt, so nothing recorded here
|
|
123
126
|
is ever lost between cycles.
|
|
124
127
|
|
|
@@ -150,7 +153,8 @@ On FAIL or NEEDS-DESIGN, name every finding id once, in order, joined with ` + `
|
|
|
150
153
|
|
|
151
154
|
```
|
|
152
155
|
→ Next: /design-feature <NN-slug> "<instruction>" — one repair batch for F1 + F2 + F4,
|
|
153
|
-
then /review-spec <NN-slug>
|
|
156
|
+
then /review-spec <NN-slug> judges the new artifact revision
|
|
157
|
+
· a third cycle → explicit user instruction first; the decider refuses it (`stop-review-loop-cap`) and names design-feature
|
|
154
158
|
· a product choice is missing → answer it in the instruction; nothing here chooses for you
|
|
155
159
|
· finding class is plan/source/environment/runtime → route to its owner, do not edit the SPEC
|
|
156
160
|
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: review-verify
|
|
3
3
|
user-invocable: false
|
|
4
4
|
version: 1.1.0
|
|
5
|
-
author: "Gabriel Trabanco <gtrabanco@users.noreply.github.com>"
|
|
5
|
+
author: "Gabriel Trabanco <1969593+gtrabanco@users.noreply.github.com>"
|
|
6
6
|
license: MIT
|
|
7
7
|
description: >
|
|
8
8
|
Internal run-it verification review pass of the agentic-workflow review pack —
|
|
@@ -3,7 +3,7 @@ name: triage-issue
|
|
|
3
3
|
user-invocable: true
|
|
4
4
|
version: 2.8.0
|
|
5
5
|
argument-hint: <issue-number> [more issue numbers…] | <audit-id> F<k> [F<j>…] | --prioritize-now <unit> F<k> [F<j>…]
|
|
6
|
-
author: "Gabriel Trabanco <gtrabanco@users.noreply.github.com>"
|
|
6
|
+
author: "Gabriel Trabanco <1969593+gtrabanco@users.noreply.github.com>"
|
|
7
7
|
license: MIT
|
|
8
8
|
description: >
|
|
9
9
|
Verify an issue, persisted audit finding, or unresolved review finding against
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verification-contract
|
|
3
3
|
user-invocable: false
|
|
4
|
-
version: 1.
|
|
5
|
-
author: "Gabriel Trabanco <gtrabanco@users.noreply.github.com>"
|
|
4
|
+
version: 1.3.0
|
|
5
|
+
author: "Gabriel Trabanco <1969593+gtrabanco@users.noreply.github.com>"
|
|
6
6
|
license: MIT
|
|
7
7
|
description: >
|
|
8
8
|
Internal contract: one compact frozen ACCEPTANCE.md per delivery unit, its
|
|
@@ -88,6 +88,12 @@ a cover-up. The sole legitimate amendment is a **proven mis-encoding of external
|
|
|
88
88
|
documented semantics of the platform/library/language, cited from authoritative documentation — not a product decision change. Even that surfaces as a
|
|
89
89
|
**finding plus a SPEC amendment**, never a silent edit to go green.
|
|
90
90
|
|
|
91
|
+
The deterministic backstop for this rule is the feature 60 path-protection
|
|
92
|
+
checkpoint (`path-protection@1` in the turn contract): the Tier 1 gate fails a
|
|
93
|
+
protected-path change with no recorded justification/approval, and the pi guard
|
|
94
|
+
blocks the write before it lands. This manifest is the finish line those
|
|
95
|
+
recorded escapes are checked against.
|
|
96
|
+
|
|
91
97
|
Prevention rides the research gate (**research-before-encode**): platform
|
|
92
98
|
semantics are verified against authoritative documentation **before a test encodes them**, so **adding stronger tests stays allowed**; **editing expectations never** (except the proven-mis-encoding path above).
|
|
93
99
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: workflow-status
|
|
3
3
|
user-invocable: true
|
|
4
|
-
version: 3.
|
|
5
|
-
author: "Gabriel Trabanco <gtrabanco@users.noreply.github.com>"
|
|
4
|
+
version: 3.8.1
|
|
5
|
+
author: "Gabriel Trabanco <1969593+gtrabanco@users.noreply.github.com>"
|
|
6
6
|
license: MIT
|
|
7
7
|
argument-hint: "[--json-only] [--last-envelope <json|path>]"
|
|
8
8
|
description: >
|
|
@@ -9,10 +9,11 @@ placement per the installed `orchestration-envelope` skill. The
|
|
|
9
9
|
states** (the schema package needs no release):
|
|
10
10
|
|
|
11
11
|
- `CLEAN` → `state: OK` (the sensor default when the substrate is usable).
|
|
12
|
-
-
|
|
13
|
-
gate and overrides the crash-recovery state with
|
|
14
|
-
blocker and concrete discovery/resolution command
|
|
15
|
-
readiness data.
|
|
12
|
+
- `draft`, `contradicted`, or `resolved` repository-state ledger is a
|
|
13
|
+
run-scoped substrate gate and overrides the crash-recovery state with
|
|
14
|
+
`state: BLOCKED`; the blocker and concrete discovery/resolution command
|
|
15
|
+
are emitted before readiness data.
|
|
16
|
+
An absent ledger is a non-blocking notice, not a blocker.
|
|
16
17
|
- `RESUMABLE` → `state: CONTINUE`, `next.recommended` = the resume command
|
|
17
18
|
from the decision table.
|
|
18
19
|
- `AMBIGUOUS` → `state: NEEDS_INPUT`, `needs_input.question` = what is
|
|
@@ -12,12 +12,13 @@ the JSON and interprets it.
|
|
|
12
12
|
|
|
13
13
|
Read `docs/workflow/REPOSITORY_STATE.md` when present and always emit
|
|
14
14
|
`detail.repository_state: {status, snapshot_id, source_revision}`. Before
|
|
15
|
-
readiness classification, if the ledger is
|
|
15
|
+
readiness classification, if the ledger is `draft`, `contradicted`, or
|
|
16
16
|
`resolved`, add a run-scoped `substrate` blocker, set the envelope state to
|
|
17
17
|
`BLOCKED`, leave `startable_now` empty, and set `next.recommended` to
|
|
18
|
-
`/discover-repository-state` for
|
|
19
|
-
`/resolve-repository-state <contradiction-id>` for `contradicted` state.
|
|
20
|
-
|
|
18
|
+
`/discover-repository-state` for non-frozen state or
|
|
19
|
+
`/resolve-repository-state <contradiction-id>` for `contradicted` state.
|
|
20
|
+
An absent ledger emits a non-blocking substrate notice instead of a blocker.
|
|
21
|
+
The sensor remains read-only; it never edits or resolves the ledger. Conflicting
|
|
21
22
|
live evidence against a frozen ledger remains a contradiction candidate.
|
|
22
23
|
|
|
23
24
|
3. **Urgency labels (`detail.urgent`) — labels-only, presence-only, never
|
|
@@ -83,8 +83,9 @@ mechanized.*
|
|
|
83
83
|
|
|
84
84
|
A row is **open** under the router's own predicate (`scripts/unit-route.mjs`
|
|
85
85
|
`isOpen`), never a re-derived one: `folded: yes`, `—`, `-`, `n/a` and an empty
|
|
86
|
-
cell all close it. The id shapes `VF-<n>` (a finding's verification mark)
|
|
87
|
-
`REVIEW-RAN` (a review mark)
|
|
86
|
+
cell all close it. The id shapes `VF-<n>` (a finding's verification mark),
|
|
87
|
+
`REVIEW-RAN` (a review mark) and `GATE-RAN` (a gate-run mark) are **never**
|
|
88
|
+
findings — a ledger pads a mark row
|
|
88
89
|
with empty cells, so it reaches the row parser looking like an open finding and
|
|
89
90
|
would otherwise project a suggestion for a merged unit. A **decision-required**
|
|
90
91
|
open row contributes **nothing**: it outranks the fold in the route table (which
|