@zihanw/pi-forge 0.5.0 → 0.5.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.
Files changed (129) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +6 -2
  3. package/README.zh-CN.md +5 -2
  4. package/dist/codecs/prompt-stack.d.ts.map +1 -1
  5. package/dist/codecs/prompt-stack.js +17 -0
  6. package/dist/codecs/prompt-stack.js.map +1 -1
  7. package/dist/compiler.d.ts.map +1 -1
  8. package/dist/compiler.js +81 -0
  9. package/dist/compiler.js.map +1 -1
  10. package/dist/context-diff-history.d.ts +61 -0
  11. package/dist/context-diff-history.d.ts.map +1 -0
  12. package/dist/context-diff-history.js +84 -0
  13. package/dist/context-diff-history.js.map +1 -0
  14. package/dist/context-diff-snapshot.d.ts +19 -0
  15. package/dist/context-diff-snapshot.d.ts.map +1 -0
  16. package/dist/context-diff-snapshot.js +146 -0
  17. package/dist/context-diff-snapshot.js.map +1 -0
  18. package/dist/context-diff.d.ts +70 -0
  19. package/dist/context-diff.d.ts.map +1 -0
  20. package/dist/context-diff.js +259 -0
  21. package/dist/context-diff.js.map +1 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/lifecycle.d.ts +2 -0
  26. package/dist/lifecycle.d.ts.map +1 -1
  27. package/dist/lifecycle.js +19 -2
  28. package/dist/lifecycle.js.map +1 -1
  29. package/dist/payload-capture.d.ts +10 -0
  30. package/dist/payload-capture.d.ts.map +1 -1
  31. package/dist/payload-capture.js +39 -9
  32. package/dist/payload-capture.js.map +1 -1
  33. package/dist/payload-command.d.ts +2 -0
  34. package/dist/payload-command.d.ts.map +1 -1
  35. package/dist/payload-command.js +36 -6
  36. package/dist/payload-command.js.map +1 -1
  37. package/dist/payload-state.d.ts +3 -0
  38. package/dist/payload-state.d.ts.map +1 -1
  39. package/dist/payload-state.js +5 -0
  40. package/dist/payload-state.js.map +1 -1
  41. package/dist/preview.d.ts.map +1 -1
  42. package/dist/preview.js +43 -9
  43. package/dist/preview.js.map +1 -1
  44. package/dist/regex.d.ts +12 -0
  45. package/dist/regex.d.ts.map +1 -1
  46. package/dist/regex.js +81 -5
  47. package/dist/regex.js.map +1 -1
  48. package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
  49. package/dist/runtime/tool-policy-runtime.js +13 -3
  50. package/dist/runtime/tool-policy-runtime.js.map +1 -1
  51. package/dist/runtime/web-editor-runtime.d.ts +2 -1
  52. package/dist/runtime/web-editor-runtime.d.ts.map +1 -1
  53. package/dist/runtime/web-editor-runtime.js +8 -3
  54. package/dist/runtime/web-editor-runtime.js.map +1 -1
  55. package/dist/types.d.ts +17 -0
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/types.js.map +1 -1
  58. package/dist/ui-contribution/contrib-port.d.ts +170 -0
  59. package/dist/ui-contribution/contrib-port.d.ts.map +1 -0
  60. package/dist/ui-contribution/contrib-port.js +640 -0
  61. package/dist/ui-contribution/contrib-port.js.map +1 -0
  62. package/dist/ui-contribution/index.d.ts +3 -0
  63. package/dist/ui-contribution/index.d.ts.map +1 -0
  64. package/dist/ui-contribution/index.js +2 -0
  65. package/dist/ui-contribution/index.js.map +1 -0
  66. package/dist/web-editor/client-script.generated.d.ts.map +1 -1
  67. package/dist/web-editor/client-script.generated.js +1 -1
  68. package/dist/web-editor/client-script.generated.js.map +1 -1
  69. package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
  70. package/dist/web-editor/client-styles.generated.js +1 -1
  71. package/dist/web-editor/client-styles.generated.js.map +1 -1
  72. package/dist/web-editor/contrib-service.d.ts +41 -0
  73. package/dist/web-editor/contrib-service.d.ts.map +1 -0
  74. package/dist/web-editor/contrib-service.js +174 -0
  75. package/dist/web-editor/contrib-service.js.map +1 -0
  76. package/dist/web-editor/line-diff.d.ts +28 -0
  77. package/dist/web-editor/line-diff.d.ts.map +1 -0
  78. package/dist/web-editor/line-diff.js +216 -0
  79. package/dist/web-editor/line-diff.js.map +1 -0
  80. package/dist/web-editor/page.d.ts +1 -1
  81. package/dist/web-editor/page.d.ts.map +1 -1
  82. package/dist/web-editor/page.js +2 -2
  83. package/dist/web-editor/page.js.map +1 -1
  84. package/dist/web-editor/schema-form.d.ts +63 -0
  85. package/dist/web-editor/schema-form.d.ts.map +1 -0
  86. package/dist/web-editor/schema-form.js +213 -0
  87. package/dist/web-editor/schema-form.js.map +1 -0
  88. package/dist/web-editor/server.d.ts.map +1 -1
  89. package/dist/web-editor/server.js +125 -7
  90. package/dist/web-editor/server.js.map +1 -1
  91. package/dist/web-editor/styles.d.ts.map +1 -1
  92. package/dist/web-editor/styles.js +188 -21
  93. package/dist/web-editor/styles.js.map +1 -1
  94. package/dist/web-editor/types.d.ts +19 -0
  95. package/dist/web-editor/types.d.ts.map +1 -1
  96. package/dist/web-host.d.ts +7 -3
  97. package/dist/web-host.d.ts.map +1 -1
  98. package/dist/web-host.js +85 -12
  99. package/dist/web-host.js.map +1 -1
  100. package/docs/README.md +1 -0
  101. package/docs/concepts/agent-profiles.md +1 -1
  102. package/docs/concepts/prompt-stacks.md +4 -0
  103. package/docs/design/0.5.1-plan.md +237 -0
  104. package/docs/design/architecture-0.5.md +22 -1
  105. package/docs/design/context-diff-plan.md +8 -2
  106. package/docs/development/release.md +7 -1
  107. package/docs/development/roadmap.md +14 -0
  108. package/docs/getting-started.md +1 -1
  109. package/docs/guides/delegation.md +3 -3
  110. package/docs/guides/use-cases.md +4 -2
  111. package/docs/guides/web-editor.md +5 -1
  112. package/docs/reference/commands.md +1 -1
  113. package/docs/reference/configuration.md +6 -3
  114. package/docs/reference/features.md +5 -0
  115. package/docs/reference/public-api.md +14 -2
  116. package/docs/reference/stack-schema.md +59 -2
  117. package/docs/reference/ui-contribution-port.md +51 -0
  118. package/docs/zh-CN/concepts/agent-profiles.md +1 -1
  119. package/docs/zh-CN/concepts/prompt-stacks.md +10 -4
  120. package/docs/zh-CN/guides/delegation.md +2 -2
  121. package/docs/zh-CN/guides/web-editor.md +4 -0
  122. package/docs/zh-CN/reference/commands.md +1 -1
  123. package/examples/custom-system-status-extension/README.md +4 -3
  124. package/examples/custom-system-status-extension/index.ts +8 -6
  125. package/examples/hack-prompt-stack.json +118 -0
  126. package/examples/minimal-prompt-stack.json +36 -0
  127. package/package.json +6 -1
  128. package/examples/image-reader-prompt-stack.json +0 -114
  129. package/examples/reviewer-prompt-stack.json +0 -104
@@ -1 +1 @@
1
- {"version":3,"file":"web-host.js","sourceRoot":"","sources":["../src/web-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-host.js","sourceRoot":"","sources":["../src/web-host.ts"],"names":[],"mappings":"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"}
package/docs/README.md CHANGED
@@ -28,6 +28,7 @@ Use this page as the documentation map. Each subject has one authoritative home;
28
28
  - [Implemented feature inventory](reference/features.md)
29
29
  - [Public API policy](reference/public-api.md)
30
30
  - [Experimental subagent host port contract](reference/subagent-host-port.md)
31
+ - [Experimental UI contribution port contract](reference/ui-contribution-port.md)
31
32
 
32
33
  ## Development
33
34
 
@@ -55,6 +55,6 @@ Provenance is branch-scoped status metadata, not ownership. Reload, resume, tree
55
55
 
56
56
  ## Delegation is separate
57
57
 
58
- Ordinary profiles cannot be delegated by default. Delegation authorization is owned by the optional `@zihanw/pi-forge-subagents` package in dedicated files: the trusted project's `.pi/forge/subagents.json` authorizes `project:<id>` profiles and the user-global `~/.pi/forge/subagents.json` authorizes `global:<id>` profiles, with per-profile backend/timeout overrides. The main package reads no subagent configuration, and deleting a profile does not touch `subagents.json`.
58
+ Ordinary profiles cannot be delegated by default. Delegation authorization is owned by the optional `@zihanw/pi-forge-subagents` package in dedicated files, using canonical `project:<id>` or `global:<id>` keys with per-profile backend/timeout overrides. Bare authorization keys are project-only compatibility aliases regardless of file location. The main package reads no subagent configuration, and deleting a profile does not touch `subagents.json`.
59
59
 
60
60
  Read the [experimental delegation guide](../guides/delegation.md) before enabling it.
@@ -4,6 +4,8 @@
4
4
 
5
5
  A prompt stack is an ordered, declarative description of the prompt and policy Pi should use. It combines static **blocks** with dynamic **slots**.
6
6
 
7
+ > **Naming note.** Prompt stacks are managed by the `/preset` command family: a stack file bundles composition and policy together, behaving like a complete preset. The names will converge in a future release; this document keeps "prompt stack" for the resource.
8
+
7
9
  ## Blocks and slots
8
10
 
9
11
  A block inserts static text with a role:
@@ -49,6 +51,8 @@ For each new user turn, pi-forge:
49
51
 
50
52
  The context rewrite happens only on the first provider request for a user-submitted turn. Pi can then continue its normal tool loop without repeatedly rebuilding the same context.
51
53
 
54
+ Stacks can optionally merge runs of consecutive same-role stack items into a single message with `context.mergeConsecutiveRoles` (and an optional `context.mergeSeparator`); chat-history output and custom-role items are never merged. See the [stack schema](../reference/stack-schema.md#context-options).
55
+
52
56
  ## System modes
53
57
 
54
58
  - `replace` is the default and gives the stack complete control. An empty replacement falls back to Pi's base prompt.
@@ -0,0 +1,237 @@
1
+ # pi-forge 0.5.1 — Combined Release Plan
2
+
3
+ Status: active. Target release: 0.5.1 (first feature release after 0.5.0).
4
+ Owner of truth: this document. Supersedes/folds in:
5
+ - `docs/design/context-diff-plan.md` (context diff, now Lane 2)
6
+ - The subagent UI-contribution discussion from the 0.5.x review thread (now Lane 1)
7
+
8
+ Theme: **observability + subagent usability**. 0.5.0 was the architecture-split
9
+ release; 0.5.1 ships per-turn prompt observability and makes the optional
10
+ subagent package configurable without hand-editing JSON.
11
+
12
+ ## Lane ordering (deliberate)
13
+
14
+ **Lane 1 ships first.** Its tab-registry refactor turns the web editor's tab
15
+ system data-driven, which Lane 2's Preview dock builds on. Both lanes touch the
16
+ client build pipeline and the tab area — do not run them in parallel in the
17
+ same working tree.
18
+
19
+ ---
20
+
21
+ ## Lane 1 — UI contribution framework + subagent config UI
22
+
23
+ ### Goal
24
+
25
+ Let the optional `@zihanw/pi-forge-subagents` package own its configuration UI
26
+ (schema, validation, defaults, file writes) while the rendered settings tab
27
+ appears inside the pi-forge web editor when — and only when — the subagent
28
+ package is installed.
29
+
30
+ Non-goal: arbitrary JS/component injection into the forge web UI. The event bus
31
+ carries JSON only; that rule does not bend for UI.
32
+
33
+ ### Architecture (schema-driven contribution, "plan A")
34
+
35
+ ```
36
+ ┌─ pi-forge-subagents ─────────────┐ ┌─ pi-forge ─────────────────┐
37
+ │ UI contribution provider: │ bus │ web host discovers provider │
38
+ │ · getContribution() → { tabId, │ ◄────── │ at startup (capability │
39
+ │ title, icon, schema, values } │ JSON │ negotiation) │
40
+ │ · writeValues(patch) → validate │ ──────► │ generic schema-form tab │
41
+ │ + write subagents.json │ │ (self-contained Vue comp.) │
42
+ └──────────────────────────────────┘ │ PUT /api/contrib/<id> proxy │
43
+ └─────────────────────────────┘
44
+ ```
45
+
46
+ - **Contribution protocol**: new versioned port, separate version counter from
47
+ the v1 host port. All payloads are plain recursively-validated JSON (schema +
48
+ values), same discipline as `host-port.ts`.
49
+ - **Forge side** is fully generic: it knows nothing about subagents. No
50
+ provider discovered → no contributed tab, zero cost.
51
+ - **Config ownership stays put**: `subagents.json` (project/global + legacy
52
+ fallback) remains owned and written by the subagent package. Forge's web
53
+ server only proxies the bus call.
54
+
55
+ ### Forge-side changes (~1.5–2d)
56
+
57
+ 1. Tab registry: replace the hardcoded `"policy" | "regex" | "stack"` union in
58
+ `vue-tab-host.ts` with a data-driven registry (string tab ids, dynamic
59
+ buttons in `App.vue`).
60
+ 2. Generic schema-form renderer: self-contained Vue component, bridged via the
61
+ vue-host mechanism. Restricted field types for v1: boolean, number, enum,
62
+ string, plus a record/table shape for per-profile entries. **Do NOT add
63
+ imperative code to `legacy-editor.ts`.**
64
+ 3. Web server: `PUT /api/contrib/<tabId>` route proxying `writeValues` over the
65
+ bus; contribution descriptors fetched at page load through `/api/contrib`.
66
+ 4. Contribution discovery: web host acts as client toward the provider port;
67
+ tolerate provider disappear/reappear across sessions.
68
+
69
+ ### Subagents-side changes (~1d)
70
+
71
+ 1. Provider endpoint implementing the contribution protocol.
72
+ 2. `ForgeSubagentSettings` → schema mapping (backend, timeoutMs,
73
+ approval flag, summary-in-description flag, per-profile
74
+ enabled/backend/timeout table).
75
+ 3. Server-side re-validation on write, reusing existing validators
76
+ (`isValidSubagentTimeoutMs` et al.). Never trust the web client.
77
+ 4. TUI companion: `/forge-agent config` subcommand for the same settings
78
+ (internal to the package, no cross-repo coordination).
79
+
80
+ ### Known v1 limitation
81
+
82
+ Pure schema cannot express "dropdown fed by live forge data" (e.g. a profileId
83
+ picker backed by `listProfiles`). v1: plain text input + validation errors.
84
+ v2 candidate: a "remote data source" field type. Do not gold-plate v1.
85
+
86
+ ### Lane 1B — subagent call-time UX (subagents package only)
87
+
88
+ Two usability extras that live entirely in `@zihanw/pi-forge-subagents`; no
89
+ forge-side coupling, safe to build in parallel with the forge contribution
90
+ framework.
91
+
92
+ **1. Call-time model override** (~0.5d)
93
+
94
+ Main agent may pick the execution model per `forge_subagent` call; default
95
+ remains the profile's model. Feasibility already verified: the wire carries
96
+ model facts (`ForgeBackendFacts.model`, `ForgePrepareResponse.model`), and the
97
+ pi-subagent-runtime subprocess backend already spawns with `--model` — only
98
+ the tool surface lacks the knob.
99
+
100
+ - Add optional `model` parameter (`provider/id` string, parsed + validated) to
101
+ `ForgeSubagentParameters`.
102
+ - Resolution order: `model` param > profile default.
103
+ - Same policy as the `backend` param: override allowed for interactively
104
+ approved runs; unattended invocation is pinned to the profile/configured
105
+ model.
106
+ - Approval summary's existing `Model:` line shows the effective model for free.
107
+ - Update tool description accordingly.
108
+
109
+ **2. Restore rich TUI rendering for subagent runs** (~0.5–1d)
110
+
111
+ The 0.4 tool shipped `renderCall`/`renderResult` (pi-tui Container/Markdown,
112
+ collapsed/expanded states, live progress, usage stats); the 0.5 split dropped
113
+ them, falling back to the default tool display. Streaming infrastructure is
114
+ still intact (`onUpdate` progress pushes, `details.progress` ring buffer at
115
+ `MAX_PROGRESS_ITEMS`).
116
+
117
+ - Port the 0.4.1 renderers from git history (`v0.4.1:src/subagent-tool.ts`)
118
+ into `forge-subagent.ts`, adapted to the current details shape and including
119
+ the approval receipt.
120
+ - `@earendil-works/pi-tui` is already an optional peer dependency.
121
+ - Reference the historical render tests where recoverable.
122
+
123
+ ---
124
+
125
+ ## Lane 2 — Context diff (folded from context-diff-plan.md)
126
+
127
+ ### Goal
128
+
129
+ Per-turn observability for prompt changes so users can optimize KV-cache reuse:
130
+
131
+ - Mark which blocks of the prompt changed after each turn.
132
+ - Show token delta (added/removed/modified) vs the previous turn.
133
+ - Mark where the KV-cache prefix survives ("cache boundary").
134
+
135
+ Secondary goal: merge with live preview — while editing a stack,
136
+ debounce-compile and diff against the previous compile, so edits show their
137
+ prompt/token impact immediately.
138
+
139
+ ### Existing building blocks
140
+
141
+ - `src/payload-capture.ts` — real provider request payload (secret-redacted),
142
+ with deliberately rough `approxTokens` (chars/4).
143
+ - Pi's authoritative assistant `message_end` usage — input, output, cache read,
144
+ and cache write token buckets correlated FIFO with captured provider requests.
145
+ - `src/preview.ts` — edit-time compile output split into sections (system +
146
+ per-message), each with chars/approxTokens.
147
+ - Legacy editor already polls payload state every 2s.
148
+
149
+ ### Two data sources
150
+
151
+ | Scenario | Source | Question answered |
152
+ |---|---|---|
153
+ | Edit time (live preview merge point) | debounced compile vs previous compile | "what does this edit change, how many tokens" |
154
+ | Run time (request structure) | diff of consecutive real payloads | "where would the reusable serialized prefix end, and what changed" |
155
+ | Run time (provider truth) | correlated assistant usage | "how many prompt tokens and cache reads/writes did the provider report" |
156
+
157
+ ### Core engine: `src/context-diff.ts` (host-neutral pure functions)
158
+
159
+ ```
160
+ TurnSnapshot { turnId, capturedAt, stackId, blocks: Block[] }
161
+ Block { key, role, text, chars, approxTokens, hash }
162
+ TurnDiff { blocks: DiffBlock[], prefixTokens, prefixRatio, deltaTokens, summary }
163
+ DiffBlock { status: same|added|removed|modified, before?, after?, tokenDelta }
164
+ ```
165
+
166
+ Cache-boundary algorithm: KV-cache hits depend on the longest common prefix of
167
+ the serialized request. Walk the block arrays in order while hashes match; at
168
+ the first mismatch, trim a char-level common prefix inside that block and
169
+ convert to tokens. Render a boundary marker: "cache valid up to ~18,204 tokens
170
+ (63% of prompt)". No Myers diff needed — prefix + block classification
171
+ suffices.
172
+
173
+ Honesty note: diff token figures remain chars/4 estimates and are always labeled
174
+ as such. Provider prompt/cache usage is displayed separately. Cache hit rate is
175
+ `cacheRead / (input + cacheRead + cacheWrite)` only after cache activity has
176
+ been observed for that provider/model; an all-zero normalized cache bucket is
177
+ otherwise reported as unavailable because it cannot distinguish a true miss
178
+ from a provider that did not report cache detail.
179
+
180
+ ### UI
181
+
182
+ Promote the Preview modal into a dockable right-side panel with three tabs:
183
+
184
+ - **Compiled** — current preview content, auto-refresh with 500ms debounce
185
+ while editing (this is the live preview).
186
+ - **Draft diff** and **Run diff** — git-style unified/split line views with
187
+ old/new line numbers, inline changed spans, and selectable changes-only,
188
+ three-line, or full context. Run metadata keeps estimated reusable prefix
189
+ separate from actual provider usage and cache-hit rate.
190
+
191
+ Run-time mode: payload poll captures a new payload → rolling history (last 20
192
+ turns) → auto-compute diff.
193
+ Edit mode: diff current edited compile vs the active on-disk version.
194
+
195
+ Implementation constraint: self-contained Vue component bridged via the
196
+ vue-host mechanism, riding Lane 1's data-driven dock/tab registry. Do NOT add
197
+ more imperative code to `legacy-editor.ts`. Do NOT refactor the legacy editor
198
+ in the same lane.
199
+
200
+ ### Phases / estimate
201
+
202
+ | Phase | Content | Effort |
203
+ |---|---|---|
204
+ | 0 | Design freeze + golden fixtures (turn payload sets) | 0.5d |
205
+ | 1 | `context-diff.ts` engine + unit tests (prefix/add/remove/modify/token rollups) | 1d |
206
+ | 2 | Server endpoint + rolling snapshot state on the web host | 0.5d |
207
+ | 3 | Web UI: preview dock + Diff view (self-contained Vue, bridged, on Lane 1's registry) | 1.5d |
208
+ | 4 | Browser tests + docs + changelog | 0.5–1d |
209
+
210
+ Lane 2 total ~4–5 working days. Descope option (~3d): run-time diff only,
211
+ live preview reduced to plain auto-refresh without edit-time diffing.
212
+
213
+ ---
214
+
215
+ ## Combined estimate
216
+
217
+ | Lane | Content | Effort |
218
+ |---|---|---|
219
+ | 1 | UI contribution framework (forge) + provider & config UI (subagents) | ~2.5–3d |
220
+ | 1B | Call-time model override + rich TUI restore (subagents only) | ~1–1.5d |
221
+ | 2 | Context diff engine + dock UI | ~4–5d |
222
+
223
+ ~8.5–9.5 working days total, ~2 calendar weeks with review. Both lanes require
224
+ coordinated releases: forge 0.5.1 must understand the contribution protocol
225
+ before (or simultaneously with) subagents 0.5.1 advertising it — the
226
+ capability negotiation makes order-independent rollout safe. Lane 1B lives
227
+ entirely in subagents 0.5.1 and ships with it; the promo should present both
228
+ packages together.
229
+
230
+ ## Release narrative
231
+
232
+ 0.5.1 headlines "observability + subagent UX". The promo video leads with the
233
+ context diff money shot (edit one system-prompt line, watch the cache-boundary
234
+ marker jump). Promo pipeline follows the AIGC/VIDEO_PRODUCTION ep02 reference:
235
+ `PLAN.md` → script draft → `narration.json` → roughcut → review; terminology
236
+ rule: plain words first, formal term named once ("KV cache" on first mention,
237
+ then "prefix cache / cache reuse region").
@@ -36,6 +36,25 @@ It is not a platformization release.
36
36
  12. **Public surfaces are exactly three intentional entry points:** package root default factory, package root named extension API (`registerMacro`, `registerSlot`, and their contract types), and `@zihanw/pi-forge/subagent`. All other root re-exports and `src/*` aliases are removed. `check-package` enforces this allowlist.
37
37
  13. **Migration is a small utility plus release notes, not a framework.** A v1-to-v2 script converts mechanical `variables`/macro fields with explicit diagnostics; removed behavior is never silently approximated.
38
38
 
39
+ ## Accepted 0.5.1 amendment: generic settings contributions
40
+
41
+ Dogfooding invalidated decisions 10 and 12 as forward-looking constraints, while preserving their 0.5.0 historical outcome. The accepted 0.5.1 amendment is:
42
+
43
+ 1. `@zihanw/pi-forge/ui-contribution` is a fourth intentional, experimental entry point. It is a generic, versioned, data-only event-bus port; main pi-forge owns the renderer and HTTP proxy but has no subagent-specific schema or persistence logic.
44
+ 2. Optional packages may contribute restricted schema-driven Settings pages. Schemas and values are recursively validated JSON data; provider handlers may be asynchronous and receive generation-bound cancellation before side effects.
45
+ 3. `pi-forge-subagents` remains the sole owner of both `subagents.json` files. It obtains profile choices only through `/subagent`, contributes plain settings descriptors through `/ui-contribution`, and performs all subagent validation and persistence itself.
46
+ 4. This amendment does not authorize a general plugin UI/component runtime, arbitrary browser code, a second resource registry, or main-package reads/writes of optional-package configuration.
47
+
48
+ ## Accepted 0.5.2 amendment: message merge and editor localization
49
+
50
+ Two small product increments, both consistent with existing invariants:
51
+
52
+ 1. **Optional consecutive-role merge.** Stack schema gains `context.mergeConsecutiveRoles: boolean` (default `false`) and `context.mergeSeparator: string` (default `"\n\n"`). When enabled, message compilation merges runs of consecutive stack-item messages that share the same declared role into a single message, joined by the separator. Merge runs only combine stack-authored synthetic messages: chat-history output (including the implicit history tail) and custom-role items are hard boundaries, and merging executes after compiled-stage regex so existing regex semantics are unchanged. Prompt compilation remains deterministic over immutable inputs; preview, runtime, and subagent preparation share the behavior because they share the compiler.
53
+ 2. **System-position diagnostic.** Stack validation warns when an enabled system-role item appears after any enabled non-system item, because item position across the system/message channels has no effect on compilation. Roles are never silently converted.
54
+ 3. **Editor localization.** The web editor localizes its chrome and built-in surfaces (en + zh-CN) through a small first-party string module; no new framework or dependency is introduced. `webEditor.locale` (`"en" | "zh-CN" | "auto"`, default `"auto"`) joins `webEditor.port` in main-package-owned configuration, and the editor server exposes read/write for it under the same trust rules as other editor writes. Locale updates preserve unknown main-config fields and replace `config.json` atomically. Contributed settings tabs remain provider-owned and are not translated by the main package.
55
+ 4. **Per-rule regex frequency.** Regex rules gain `frequency: "turn" | "request"` (default `"turn"`, preserving 0.5.1 behavior). On tool-result follow-up requests — where the stack layout rewrite is deliberately skipped — `frequency: "request"` outgoing message rules apply to Pi's full natural context. Each provider request is rebuilt from the transcript, so re-application is wire-consistent and never doubled. The option is meaningful only for `effect: "outgoing"` rules that target messages (history stage, or compiled stage with a `messages` target); other combinations produce validation warnings.
56
+ 5. **Finalize role extension.** The 0.5.0 "assistant roles only" finalize constraint is relaxed: a finalize rule whose `roles` explicitly includes `"toolResult"` also rewrites stored tool-result messages at `message_end` (which Pi emits and persists for user/assistant/toolResult, before the follow-up request — so the wire inherits the scrubbed transcript). Rules without `roles` keep assistant-only behavior; `frequency` has no meaning for storage-time finalize and produces a validation warning. This remains a documented, user-enabled destructive transform, and user-role messages stay out of scope.
57
+
39
58
  ## Extension port contract (0.5.0)
40
59
 
41
60
  The 0.5.0 extension contract is part of the breaking release. It is a trusted-extension port, not a security boundary.
@@ -77,6 +96,7 @@ flowchart LR
77
96
  Workspace --> Compiler["forge-v1 compiler"]
78
97
  Compiler --> Extensions["Trusted extension port"]
79
98
  Workspace -. "event-bus host port v1" .-> Optional["pi-forge-subagents"]
99
+ WebEditor["Generic Settings renderer"] -. "UI contribution port v1" .-> Optional
80
100
  Optional --> Runtime["pi-subagent-runtime"]
81
101
  ```
82
102
 
@@ -193,6 +213,7 @@ Lane 4e: release.
193
213
  - Schema v2, extension contract, and migration notes are documented.
194
214
  - Main package has no subagent runtime dependency and passes packed smoke tests alone.
195
215
  - Optional package passes packed smoke tests through host port v1 and owns only its dedicated config files.
216
+ - UI contribution port passes schema validation, async generation cancellation, provider churn, and packed optional-consumer tests.
196
217
  - No non-allowlisted root exports or `src/*` aliases remain.
197
218
  - User-facing breaking changes are documented in English and Chinese.
198
219
 
@@ -205,7 +226,7 @@ These items come from the archived full plan and are intentionally not part of 0
205
226
  - automatic dependency-direction checking;
206
227
  - full `PromptStackService` / `AgentProfileService` application facades;
207
228
  - complete host RPC operation catalogue, progress events, and richer lifecycle features beyond host port v1;
208
- - optional-package standalone delegation UI or a main-editor contribution port;
229
+ - optional-package standalone delegation UI and arbitrary contributed UI components;
209
230
  - full public-surface classification register and consumer audit repeat;
210
231
  - rolling Pi compatibility matrix and scheduled latest-Pi probe;
211
232
  - sandbox, staged writes, new prompt features, richer imports, and orchestration.
@@ -1,7 +1,13 @@
1
1
  # Context Diff — design plan (post-0.5.0)
2
2
 
3
- Status: planned. Target release: 0.5.1 (first feature release after 0.5.0).
4
- Owner of truth: this document; discussion record lives in the 0.5.x review thread.
3
+ Status: folded into `docs/design/0.5.1-plan.md` as Lane 2 — that file is now the owner of truth. Kept for discussion history.
4
+
5
+ Implemented follow-up: the dock now provides git-style line diffs and correlates
6
+ captured requests with Pi's assistant usage. The structural cache-prefix figure
7
+ remains a chars/4 estimate; provider-reported cache hit rate is shown separately
8
+ and is unavailable until cache reporting is observed for that provider/model.
9
+
10
+ Original status: planned. Target release: 0.5.1 (first feature release after 0.5.0).
5
11
 
6
12
  ## Goal
7
13
 
@@ -6,12 +6,18 @@
6
6
 
7
7
  1. Confirm the changelog and user documentation describe the intended version and experimental surfaces accurately.
8
8
  2. Publish and smoke-test any required `@zihanw/pi-subagent-runtime` version first.
9
- 3. Install dependencies from the lockfile and run `npm run verify`.
9
+ 3. Install dependencies from the lockfile and run `npm run verify`; require the
10
+ Ubuntu, macOS, and Windows GitHub Actions jobs to pass for the release commit.
10
11
  4. Test a packed installation against the documented minimum and current Pi versions.
11
12
  5. Exercise ordinary stack/profile use independently of delegation.
12
13
  6. Exercise both configured foreground backends and confirm unsupported host capabilities fail closed before provider transport.
13
14
  7. Inspect `npm pack --dry-run` for package size and unexpected or missing files.
14
15
 
16
+ The macOS and Windows jobs run the same complete verification surface as Linux,
17
+ including the real-browser editor suite against the hosted runner's system
18
+ Chrome. Compatibility-version and scheduled latest-Pi probes remain Linux-only;
19
+ they test dependency drift rather than operating-system behavior.
20
+
15
21
  ## Dependency policy
16
22
 
17
23
  Published manifests use wildcard peer dependencies for Pi-host-provided SDK packages. Exact versions belong in development dependencies and the lockfile so tests are reproducible without restricting compatible host releases.
@@ -10,6 +10,8 @@ This file contains forward-looking product work only. Completed capability belon
10
10
 
11
11
  The authoritative scope, accepted decisions, implementation lanes, and release gates are in the [lean 0.5 architecture plan](../design/architecture-0.5.md). The original six-phase architecture target remains the long-term goal and is archived in the [full proposal](../design/archive/0.5-full-proposal/README.md).
12
12
 
13
+ Current stabilization includes the accepted 0.5.1 generic-settings amendment and the accepted 0.5.2 message-merge, localization, regex-frequency, and finalize-role amendment recorded in that plan.
14
+
13
15
  Implementation order:
14
16
 
15
17
  0. Documentation convergence: archive the full proposal and make the lean plan active.
@@ -45,6 +47,18 @@ Stable 0.4 does not imply that the subagent adapter or runtime has become stable
45
47
 
46
48
  ## Deferred candidates
47
49
 
50
+ ### Naming convergence (preset/stack)
51
+
52
+ Target model: **stack** names the composition section (ordered blocks/slots), **preset** names the file that bundles composition with tool/skill/regex policy, **profile** remains the model/thinking/preset bundle. The `/preset` command family already matches the target; the stored resource does not.
53
+
54
+ When scheduled (bundle with other breaking cleanup, never as a standalone release):
55
+
56
+ - Migrate `.pi/forge/prompt-stacks/` to `.pi/forge/presets/` byte-preserving, reusing the legacy stack-migration path; read-compat for the `"pi-forge.prompt-stack"` type, write `"pi-forge.preset"`.
57
+ - Profile field `promptStack` becomes `preset` with read-compat for the old field.
58
+ - Do **not** change the `/subagent` wire contract: keep `promptStackId` / `ForgeWirePromptStack` names as aliases; no port version bump, no coordinated pi-forge-subagents release, fingerprints unchanged.
59
+ - Do **not** split composition and policy into separate files (referential-integrity and activation-matrix complexity); fork covers "same layout, different policy".
60
+ - User-visible layer first: storage dirs, JSON type, web-editor labels, EN/zh-CN docs. Internal type names converge gradually via aliases.
61
+
48
62
  ### Sandbox and staged writes
49
63
 
50
64
  Evaluate an optional backend that can honestly enforce roots, process behavior, symlink containment, and requested network policy. Keep shared-user as an explicit compatibility boundary. Design writes as a separately approved staged patch/change set; do not add write/edit/shell tools directly to the shared-user child.
@@ -90,7 +90,7 @@ Add `--overwrite` only when target replacement is intended. Add `--delete-legacy
90
90
  ## Where to go next
91
91
 
92
92
  - Learn the [prompt-stack model](concepts/prompt-stacks.md).
93
- - Fork a [focused reviewer](../examples/reviewer-prompt-stack.json).
93
+ - Fork the [minimal worker](../examples/minimal-prompt-stack.json).
94
94
  - Learn [macros and slots](reference/macros-and-slots.md).
95
95
  - Read the [0.5 migration guide](guides/migrating-to-0.5.md).
96
96
  - Inspect the [complete commands](reference/commands.md) and [stack schema](reference/stack-schema.md).
@@ -15,11 +15,11 @@ Profiles are not delegatable by default. Enable each eligible ID in the trusted
15
15
  "backend": "pi-subprocess-readonly",
16
16
  "timeoutMs": 60000,
17
17
  "profiles": {
18
- "reviewer": {
18
+ "project:reviewer": {
19
19
  "enabled": true,
20
20
  "timeoutMs": 300000
21
21
  },
22
- "rpc-reviewer": {
22
+ "project:rpc-reviewer": {
23
23
  "enabled": true,
24
24
  "backend": "pi-rpc-readonly",
25
25
  "timeoutMs": 180000
@@ -28,7 +28,7 @@ Profiles are not delegatable by default. Enable each eligible ID in the trusted
28
28
  }
29
29
  ```
30
30
 
31
- Legacy `.pi/forge/config.json.subagents` is accepted as read-only fallback with a warning. Enablement follows the profile's scope. A global `~/.pi/forge/subagents.json` may define general `backend` and `timeoutMs` defaults and may authorize `global:<id>` profiles through its own `profiles` map. The trusted project's `subagents.json` authorizes `project:<id>` profiles. Same-ID global and project profiles never inherit enablement, backend, or timeout policy from one another. Disabled or unlisted profiles are hidden from discovery and rejected even if guessed.
31
+ Legacy `.pi/forge/config.json.subagents` is accepted as read-only fallback with a warning. Authorization keys should be canonical selectors: `project:<id>` or `global:<id>`. Bare keys remain a compatibility spelling for project profiles only, even inside `~/.pi/forge/subagents.json`; use an explicit key such as `global:reviewer` to authorize a global profile. Same-ID global and project profiles never inherit enablement, backend, or timeout policy from one another. Disabled or unlisted profiles are hidden from discovery and rejected even if guessed.
32
32
 
33
33
  ## Discover, plan, and run
34
34
 
@@ -17,7 +17,7 @@ This keeps the latest request clear and avoids duplication. Static `{{ parameter
17
17
 
18
18
  ## Focused code review
19
19
 
20
- Start from [the reviewer example](../../examples/reviewer-prompt-stack.json). It denies writing tools, wraps prior history as background, omits the latest user message from history, then reinserts it as the explicit review target.
20
+ Fork the default Pi mirror, deny writing tools, wrap prior history as background, omit the latest user message from history, then reinsert it as the explicit review target.
21
21
 
22
22
  Use a rule such as “prioritize correctness, regressions, security, and missing tests.” Keep tools, project context, and history when the reviewer must inspect the repository. Use `append` to retain Pi's normal coding prompt, or `replace` when the stack must fully control prompt and skill visibility.
23
23
 
@@ -52,10 +52,12 @@ Keep the Pi mirror, require the tools needed for the workflow, strip prior assis
52
52
 
53
53
  Include `active-model` and `date-cwd`, then add compiled regex rules for deterministic redaction or formatting. Pair the stack with `/payload next` or the web editor's capture view to audit exactly what changed.
54
54
 
55
+ Redaction is limited to the declared patterns and supported text targets. It is useful for known shapes but is not an exhaustive credential scanner or security boundary.
56
+
55
57
  ## Pi-docs expert
56
58
 
57
59
  Allow read/search tools, include the `pi-docs` and project-context slots, and keep a focused system instruction. This encourages answers grounded in installed Pi documentation rather than general model memory.
58
60
 
59
61
  ## Trusted runtime status
60
62
 
61
- The [custom system-status example](../../examples/custom-system-status-extension/README.md) registers `{{ extensions.cpuLoad }}` and a `machine-status` slot from trusted project code. Use this pattern for deterministic host data that cannot be represented as static stack JSON.
63
+ The [custom system-status example](../../examples/custom-system-status-extension/README.md) captures host data once when its trusted module registers, then exposes that immutable snapshot through `{{ extensions.cpuLoad }}` and a `machine-status` slot. Use this pattern when registration-time data is sufficient; reload the extension to capture a new snapshot.
@@ -28,6 +28,10 @@ Choose a preferred port in `.pi/forge/config.json`:
28
28
 
29
29
  If that port is unavailable, pi-forge selects another and shows the actual URL.
30
30
 
31
+ ## Interface language
32
+
33
+ The editor interface is available in English and Chinese. Use the language selector in the top bar (Auto / English / 中文); the choice is written to `webEditor.locale` in the project config. `Auto` (the default) follows the browser language, and the initial page render also honors the browser's `Accept-Language` header. Interface chrome, built-in stack/profile surfaces, and the preview/diff dock are localized; compiler diagnostics, provider-contributed settings pages, and stack content (item names, block text) stay in their authored language.
34
+
31
35
  ## Prompt-stack workspace
32
36
 
33
37
  The stack workspace provides:
@@ -43,7 +47,7 @@ The stack workspace provides:
43
47
  - payload arming and redacted captured-payload inspection;
44
48
  - light and dark themes.
45
49
 
46
- Existing IDs are immutable during edit. Use **Fork** to create a different ID without breaking profile references or the active selection. The toolbar scope selector (default `project`) chooses where new stacks, imports, and forks are written: `global` targets the user-global `~/.pi/forge/prompt-stacks`, `project` targets `.pi/forge/prompt-stacks`. Stack rows show a `global` badge, and save/delete routes use `global:<id>` for exact global mutations. Legacy stacks remain editable in place.
50
+ Existing IDs are immutable during edit. Use **More → Fork** to create a different ID without breaking profile references or the active selection. The compact selector attached to **New stack** (default `Project`) chooses where new stacks, imports, and forks are written: `Global` targets the user-global `~/.pi/forge/prompt-stacks`, `Project` targets `.pi/forge/prompt-stacks`. Less-used capture, fork, import, export, and delete actions live under **More** so the stack and Preview/Diff panes keep the available viewport. Stack rows show a `global` badge, and save/delete routes use `global:<id>` for exact global mutations. Legacy stacks remain editable in place.
47
51
 
48
52
  Saves, imports, forks, and deletes reload stack state into the current Pi session. When another surface changes a referenced stack, returning to profiles refreshes profile resolution.
49
53
 
@@ -49,7 +49,7 @@ The commands below are provided by the optional `@zihanw/pi-forge-subagents` pac
49
49
  | `/forge-agent plan <profile> [--backend <id>] <task>` | Prepare, validate, display, and discard an exact plan without provider transport. |
50
50
  | `/forge-agent run <profile> [--backend <id>] <task>` | Review and approve an exact foreground read-only run. |
51
51
 
52
- Only profiles explicitly authorized in the matching scope are accepted: the project `subagents.json` authorizes `project:<id>` profiles and the global `subagents.json` authorizes `global:<id>` profiles; `.pi/forge/config.json.subagents` remains a read-only legacy fallback. The model-callable equivalents are `forge_subagent_profiles` (local discovery) and `forge_subagent` (execution). See the [delegation safety guide](../guides/delegation.md).
52
+ Only explicitly scoped profiles are accepted: use `project:<id>` or `global:<id>` keys in `subagents.json`. A bare authorization key always means `project:<id>`, even in the global file; `.pi/forge/config.json.subagents` remains a read-only legacy fallback. The model-callable equivalents are `forge_subagent_profiles` (local discovery) and `forge_subagent` (execution). See the [delegation safety guide](../guides/delegation.md).
53
53
 
54
54
  ## Payload inspection
55
55