@gtrabanco/pi-agentic-workflow 0.15.0 → 0.15.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gtrabanco/pi-agentic-workflow",
3
- "version": "0.15.0",
3
+ "version": "0.15.2",
4
4
  "description": "Pi package: canonical agentic-workflow skills, friendly slash commands, and per-command model routing.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -57,11 +57,11 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@earendil-works/pi-tui": "0.87.0",
60
- "@gtrabanco/agentic-workflow": "file:../agentic-workflow",
60
+ "@gtrabanco/agentic-workflow": "0.1.1",
61
61
  "@gtrabanco/agentic-workflow-schema": "4.5.0"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@types/node": "24.13.3",
65
- "typescript": "6"
65
+ "typescript": "6.0.3"
66
66
  }
67
67
  }
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: workflow-status
3
3
  user-invocable: true
4
- version: 3.8.1
4
+ version: 3.9.0
5
5
  author: "Gabriel Trabanco <1969593+gtrabanco@users.noreply.github.com>"
6
6
  license: MIT
7
- argument-hint: "[--json-only] [--last-envelope <json|path>]"
7
+ argument-hint: "[--json-only] [--last-envelope <json|path>] [--compact]"
8
8
  description: >
9
9
  Read-only workflow sensor: run the deterministic script, read the fixed
10
10
  machine envelope, interpret the recommendation. Never edits. Triggers:
@@ -25,9 +25,9 @@ report — it never assembles the envelope by hand.
25
25
 
26
26
  ```
27
27
  ✓ The script was RUN — `bun scripts/workflow-status.mjs [--json-only]
28
- [--last-envelope <json|path>]` (node is the fallback when bun is absent, per
29
- the repository's runtime convention); the envelope is the script's stdout, never
30
- assembled by the model
28
+ [--last-envelope <json|path>] [--compact]` (node is the fallback when bun is
29
+ absent, per the repository's runtime convention); the envelope is the script's
30
+ stdout, never assembled by the model
31
31
  ✓ Nothing was edited, committed, pushed, or created — read-only, always
32
32
  ✓ `next.recommended` is non-bare (carries the unit's slug/NN, never a bare
33
33
  `/plan-feature`) AND the script computed it from the unit's resolved status
@@ -51,6 +51,12 @@ report — it never assembles the envelope by hand.
51
51
 
52
52
  With `--json-only`, skip the human-readable summary: print the envelope alone.
53
53
 
54
+ ## Compact mode — `--compact`
55
+
56
+ `--compact` emits the same envelope with repository history dropped (~half the
57
+ bytes on a mature repo); the exact keep/drop set is in
58
+ [envelope fields](references/ENVELOPE_FIELDS.md).
59
+
54
60
  ## When to use
55
61
 
56
62
  - Between orchestration steps: an external driver runs it to decide the next
@@ -88,3 +88,38 @@ fully in `features`/`fixes` — an `idea` unit appears ONLY in
88
88
  it has no deps-met check to pass (design precedes dependency startability).
89
89
  `05-auth` above illustrates `defined` (not yet `planned`): startable, next
90
90
  `/plan-feature`, phase fields null (no planning artifacts yet).
91
+
92
+ ## The `--compact` projection
93
+
94
+ The envelope above is the complete one. `--compact` emits the **same shape and the
95
+ same decisions** with repository history dropped, because a poll loop pays for
96
+ that history in context on every read while no consumer of "what can I do now"
97
+ reads it. On this repository it is roughly half the bytes.
98
+
99
+ Exactly two fields change:
100
+
101
+ - `detail.features` / `detail.fixes`: a `done` row is dropped **only on positive
102
+ proof its linked PR merged** (the merge resolver). An unmerged `done` row is
103
+ still at the merge gate and stays; every row in `idea`/`defined`/`planned`/
104
+ `in-progress` stays in both modes, so `detail.startable_now` and
105
+ `detail.blocked_units` keep naming every unit either way.
106
+ - `findings.fix_now[].route`: the reviewer's multi-paragraph evidence memo becomes
107
+ `...(N char evidence, see the unit review-findings.md)`, keeping the original
108
+ length visible. `id`, `file`, `axis`, `severity`, `class` and `suggested_tier`
109
+ are untouched, and the memo is on disk in the unit's `review-findings.md`, which
110
+ is where the fold reads it.
111
+
112
+ `detail.workflow_observations` is **not** reduced in either mode. Every note the
113
+ sensor writes is a signal — an unmapped roadmap status, a slug that refused its
114
+ files, a ledger severity outside the published enum, git and forge state, the
115
+ `--last-envelope` guard's divergence note — and they total about a kilobyte, so
116
+ trimming them would trade a real signal for no measurable win. The size comes from
117
+ `features` and the route memos, which are an order of magnitude larger and pure
118
+ history.
119
+
120
+ Everything else is byte-identical: `state`, `summary`, `unit`, `phase`, `pr`,
121
+ `gates`, `blockers`, `dependencies`, `recommendations`, `needs_input`, all of
122
+ `next` (`recommended`, `alternatives`, `tier`, `reason`, `candidate_count`,
123
+ `suggested`, `continuation`), `detail.repository_state`, `design_candidates`,
124
+ `pre_execution`, `review_loop_cycles`, `crash_recovery` and `urgent`. A consumer
125
+ may therefore switch modes per read without changing how it parses.