@timurproko/a1 0.1.8-dev.518 → 0.1.8-dev.527
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 +28 -137
- package/dist/app/session-shell/session-shell-root.js +1 -1
- package/dist/app/session-shell/session-shell.d.ts +2 -2
- package/dist/app/session-shell/session-shell.js +9 -9
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +2 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +19 -0
- package/dist/integrations/pi/components/shell-presenters-info.js +56 -2
- package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +6 -4
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +5 -4
- package/dist/integrations/pi/components/skills-dialog.js +15 -5
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +2 -2
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/daxnuts.js +1 -1
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +2 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +7 -2
- package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/session-footer.js +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +8 -6
- package/dist/integrations/pi/components/upstream/components/session-selector.js +75 -49
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +18 -10
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +3 -3
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +8 -8
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +1 -1
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +3 -1
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.js +8 -7
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
- package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
- package/dist/integrations/pi/components/upstream/history/text-helpers.d.ts +3 -0
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +4 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
- package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme.js +1 -1
- package/dist/integrations/pi/engine/index.d.ts +1 -1
- package/dist/integrations/pi/engine/index.js +1 -1
- package/dist/integrations/pi/engine/pi-settings-metadata.json +12 -0
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/engine/settings-bridge.d.ts +1 -1
- package/dist/integrations/pi/engine/settings-bridge.js +2 -0
- package/dist/integrations/pi/engine/settings-port.js +11 -1
- package/dist/integrations/pi/engine/usage-view.js +1 -1
- package/dist/integrations/pi/engine/workflow-runner.js +4 -1
- package/dist/integrations/pi/engine/workflow-support.d.ts +6 -1
- package/dist/integrations/pi/engine/workflow-support.js +36 -2
- package/dist/integrations/pi/engine/workflows.d.ts +36 -3
- package/dist/integrations/pi/engine/workflows.js +8 -0
- package/dist/integrations/pi/startup-public.js +1001 -976
- package/dist/integrations/pi/startup-public.manifest.json +1846 -1672
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +7 -1
- package/dist/native/darwin-arm64/manifest.json +1 -1
- package/dist/native/linux-x64/manifest.json +1 -1
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/runtime-payload-inventory.json +41121 -34266
- package/docs/architecture/toolchain.md +2 -0
- package/docs/ci-release-runbook.md +32 -24
- package/docs/openspec-archive-automation.md +2 -2
- package/package.json +5 -4
|
@@ -34,6 +34,8 @@ It contains no PTY, terminal emulator, browser/desktop GUI, custom renderer, inp
|
|
|
34
34
|
|
|
35
35
|
## Native launch containment
|
|
36
36
|
|
|
37
|
+
`npm run doctor` reports this contract against the current machine—Node range, npm major, git, the GitHub CLI, Rust/Cargo, and whether `node_modules` matches the lockfile—and names the install command for anything missing. `npm run build` runs the same check as its first step, so an unmet prerequisite fails by name rather than inside a module resolver or Cargo. Unmet tool prerequisites block; a Node or npm version outside the declared contract is reported as an advisory without failing the build.
|
|
38
|
+
|
|
37
39
|
Source builds require Rust/Cargo 1.85 or newer. `npm run build` compiles the standalone `native/process-guardian` crate for the host platform, places it under `dist/native/<platform>-<architecture>/`, and writes an integrity manifest. Preview and stable candidate workflows build platform artifacts on isolated Windows, Linux, and macOS runners and assemble them before packing. macOS remains explicitly unsupported until its exact containment adapter is certified; the package must fail before runtime startup rather than use PID-only cleanup.
|
|
38
40
|
|
|
39
41
|
The process guardian inherits terminal handles but transports no terminal bytes. See [`process-guardian-provenance.md`](process-guardian-provenance.md).
|
|
@@ -49,7 +49,7 @@ effect of stable publication, not a trigger.
|
|
|
49
49
|
| Pull request into `develop` | Bounded PR-cadence validation; changed/new source documentation is checked once, rendering runs as `none`, `smoke`, or `full`, and exhaustive owners are reported as deferred |
|
|
50
50
|
| `npm run develop` | Preview package gates on Windows, Linux, and macOS; an existing numbered preview is an early successful no-op |
|
|
51
51
|
| Nightly at `03:17 UTC` | One full documentation review plus the complete non-physical suite on Windows, Linux, and macOS, every night |
|
|
52
|
-
| `npm run release -- ...` |
|
|
52
|
+
| `npm run release -- ...` | Stamps the requested stable version on the open `develop` source, runs the complete exact-byte stable gates, then npm `latest`, tag, GitHub Release, and `master`; one reopening PR follows |
|
|
53
53
|
| `.github/workflows/full-regression.yml` | Additional on-demand complete regression without publication authority |
|
|
54
54
|
| `.github/workflows/pi-upstream-sync.yml` | Nightly at `03:23 UTC`: when npm publishes a newer Pi than the pin that no closed proposal skipped, proposes the upgrade as a draft pull request with the vendored copies that follow upstream merged, the kept copies reported with their upstream delta, the ledger, headers, inventories, public API and feature baselines, startup graph, and parity evidence regenerated, and every gate verdict (passed, failed, or blocked by conflict markers) and review item in the body; never merges and never replaces a proposal a human has continued |
|
|
55
55
|
| `.github/workflows/nightly-regression-triage.yml` | After every completed `Full regression` run on `develop` or scheduled `Release` validation: judges the startup budget across the three most recent runs and, after a failure or a persistent overrun, opens `fix/nightly-regression-<date>` as a draft pull request carrying the failed commands per lane, their tests, a bounded log excerpt, the `develop` commits since the last green run, and an OpenSpec fix scaffold, or refreshes the open candidate with the same failed scope set; re-runs nothing, never writes `develop`, never merges |
|
|
@@ -149,7 +149,7 @@ validation; malformed, mixed, renamed, stale, or unavailable inputs fail closed.
|
|
|
149
149
|
A legitimate generated baseline update remains outside the allowlist and follows the
|
|
150
150
|
manually accepted mixed/code path.
|
|
151
151
|
|
|
152
|
-
A new implementation-bound specification starts as OpenSpec-only artifacts in one normally named draft PR. Explicit approval to implement continues in that same worktree, branch, history, and PR; the plan does not merge first. Approved refinements reconcile planning before code. After implementation, add one to
|
|
152
|
+
A new implementation-bound specification starts as OpenSpec-only artifacts in one normally named draft PR. Explicit approval to implement continues in that same worktree, branch, history, and PR; the plan does not merge first. Approved refinements reconcile planning before code. After implementation, add one to ten plain implementation-specific bullets under `## Acceptance` and mark the PR ready; the trusted `OpenSpec finalization` workflow conservatively synchronizes deltas, stages the dated archive plus conditional acceptance manifest, and commits them to the same branch, and exact-head CI validates that head. Auto-merge remains disabled: an authorized maintainer's manual merge accepts the listed scenarios and atomically integrates implementation, specs, and archive. No acceptance or archive follow-up PR is created. Closing an unmerged draft integrates nothing; cleanup still needs separate approval. See [delivery and archive handoff](openspec-archive-automation.md) for commands and legacy compatibility.
|
|
153
153
|
|
|
154
154
|
## Numbered development previews
|
|
155
155
|
|
|
@@ -195,43 +195,50 @@ work.
|
|
|
195
195
|
From the repository root on clean `develop` matching `origin/develop`:
|
|
196
196
|
|
|
197
197
|
```sh
|
|
198
|
-
npm run release -- patch # 0.1.8-dev -> 0.1.8
|
|
198
|
+
npm run release -- patch # 0.1.8-dev -> 0.1.8
|
|
199
199
|
npm run release -- minor # 0.1.8-dev -> 0.2.0
|
|
200
200
|
npm run release -- major # 0.1.8-dev -> 1.0.0
|
|
201
201
|
npm run release -- 0.4.0 # exact stable target
|
|
202
202
|
```
|
|
203
203
|
|
|
204
204
|
A target is required: `npm run release` alone is a mutation-free usage error.
|
|
205
|
-
`patch`
|
|
205
|
+
`patch` promotes the open prerelease, `0.1.8-dev -> 0.1.8`. `develop` must declare
|
|
206
|
+
exactly one open `x.y.z-dev` version; a stable or numbered version there is refused.
|
|
206
207
|
The command reports its source, stable target, and prospective reopening before
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
1. The
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
208
|
+
touching anything, and the stable version is never committed to `develop`.
|
|
209
|
+
|
|
210
|
+
1. The helper checks that the registry and `v<version>` tag do not already hold the
|
|
211
|
+
target, re-reads authoritative `develop`, and explicitly dispatches stable
|
|
212
|
+
publication for that exact source with the stable version in the request. A changed source is
|
|
213
|
+
an error, not permission to substitute a newer commit.
|
|
214
|
+
2. The workflow stamps the requested version on the checked-out source
|
|
215
|
+
(`npm version <x.y.z> --no-git-tag-version`) before packing, so the tarball
|
|
216
|
+
declares `0.1.8` while the tagged commit still declares `0.1.8-dev`. Everything
|
|
217
|
+
else about the package is byte-identical to that commit's tree; `git checkout
|
|
218
|
+
v0.1.8 && npm version 0.1.8 --no-git-tag-version && npm pack` reproduces it.
|
|
219
|
+
3. Only after verified publication of `0.1.8` does the helper commit `0.1.9-dev`
|
|
220
|
+
in an owned detached worktree beneath `.worktrees/` (only this package's manifest
|
|
221
|
+
and root lockfile version change), open the one version PR, and wait for you to
|
|
222
|
+
**merge it manually** with a bounded 30-minute poll. The helper never merges
|
|
223
|
+
PRs or enables auto-merge. Until that merge the helper reports development
|
|
224
|
+
reopening as incomplete, and previews cannot be published from a `develop`
|
|
225
|
+
whose `-dev` version sorts below the stable release.
|
|
220
226
|
|
|
221
227
|
Closed PRs, timeout, cancellation, and query failures retain identifiable phase
|
|
222
228
|
work for inspection. Conflicting existing branches/PRs are not overwritten;
|
|
223
|
-
matching pending
|
|
229
|
+
a matching pending reopening PR is observed rather than replaced. Worktrees
|
|
224
230
|
retained by an earlier attempt are not removed by a later invocation. Cleanup
|
|
225
231
|
only removes clean, owned, confirmed-merged phase worktrees and unchanged remote
|
|
226
232
|
phase branches. The caller is never hard-reset: a final fast-forward is attempted
|
|
227
233
|
only when its branch, original HEAD, and cleanliness remain unchanged. Otherwise
|
|
228
234
|
preserve local work and synchronize manually with the reported remote state.
|
|
229
235
|
|
|
230
|
-
Stable publication builds the process guardian on all supported platforms,
|
|
231
|
-
once, runs the complete suite against those exact bytes on
|
|
232
|
-
macOS, publishes to npm `latest` with provenance from the
|
|
233
|
-
environment, and then writes `vx.y.z
|
|
234
|
-
`master`. A push of the stable version does
|
|
236
|
+
Stable publication builds the process guardian on all supported platforms, stamps
|
|
237
|
+
the version, packs once, runs the complete suite against those exact bytes on
|
|
238
|
+
Windows, Linux, and macOS, publishes to npm `latest` with provenance from the
|
|
239
|
+
`npm-publish` environment, and then writes `vx.y.z` on the source commit, records
|
|
240
|
+
the GitHub Release, and fast-forwards `master`. A push of the stable version does
|
|
241
|
+
not publish it, and no automation ever pushes one.
|
|
235
242
|
|
|
236
243
|
Rules that do not bend:
|
|
237
244
|
|
|
@@ -257,7 +264,8 @@ Rules that do not bend:
|
|
|
257
264
|
- **Nightly documentation review fails:** inspect the reported paths and rules, identify the introducing merge from the nightly interval, and repair the invariant before unrelated work proceeds.
|
|
258
265
|
- **Development publication fails:** fix the cause and rerun `npm run develop`; an npm version that already exists is never overwritten.
|
|
259
266
|
- **Registry verification times out:** a `has not propagated` failure after a successful `npm publish` means npm is still ingesting the upload; it warns that a provenance-signed package "may take a few minutes" and the publisher polls for ten minutes. Confirm the version and its shasum on `https://registry.npmjs.org/<name>/<version>`, then rerun the failed jobs: the final registry check finds the exact bytes, skips `npm publish`, and verification passes. A digest or tag mismatch is not a timeout and is never repaired by rerunning.
|
|
260
|
-
- **Stable
|
|
267
|
+
- **Stable publication fails or is uncertain:** no reopening PR was prepared and `develop` still declares the open `-dev` version. Inspect the workflow run, npm, and the `v<version>` tag. When nothing was published, fix the cause and rerun the same target; the registry and tag guards refuse a version that already exists.
|
|
268
|
+
- **Stable is published but reopening stopped:** the helper reports the reopening PR or retained worktree. Merge the pending `chore/release-<x.y.z>-dev` PR by hand once its CI passes, or repair the branch and open the PR yourself; never rerun the release for the published version.
|
|
261
269
|
- **Stable publication fails or is uncertain:** inspect the workflow, registry version/digest, tag, and release before choosing recovery. No reopening PR is prepared. Never republish immutable bytes or move a release tag.
|
|
262
270
|
- **Stable publication succeeded but reopening stops:** the stable version is already published. Inspect and finish the reported next-development PR manually; do not repeat stable publication. If no reopening PR was created, prepare the next-development version through a separately validated manual PR after inspecting remote state.
|
|
263
271
|
|
|
@@ -11,7 +11,7 @@ Version-1 and version-2 deliveries and their existing comments, acceptance PRs,
|
|
|
11
11
|
1. **Draft plan:** create one normally named branch/PR such as `feature/...`, `fix/...`, or `chore/...`. Start the body with `## Proposal`, use it for one or two sentences of intent, follow it with `## Implementation` for the concrete planned work, omit quoted phase lines and routine validation command lists, and keep machine linkage under final collapsed `Automation`. Keep it draft and include only planning artifacts until the maintainer approves the plan and explicitly requests implementation.
|
|
12
12
|
2. **Same-PR implementation:** continue after explicit approval in the same worktree, branch, history, draft PR, and phase-free body. Reconcile approved refinements in proposal, design, deltas, and tasks before corresponding code edits.
|
|
13
13
|
3. **Complete evidence:** finish implementation, required tests/evidence, substantive tasks, and explicit known-gap disposition. CI success is objective evidence, not acceptance.
|
|
14
|
-
4. **Plain acceptance list:** keep the body phase-free and add final `## Acceptance` with one to
|
|
14
|
+
4. **Plain acceptance list:** keep the body phase-free and add final `## Acceptance` with one to ten concise implementation-specific behavior-and-result bullets. Do not use checkboxes, generic review/CI/approval/archive statements, URLs, mentions, or automated-test inventory.
|
|
15
15
|
5. **Ready and automated finalization:** mark the PR ready. The trusted `OpenSpec finalization` workflow reconciles current `develop`, conservatively synchronizes all deltas, moves the active change into its dated archive, stages the conditional acceptance manifest, commits that to the same branch with the archive App identity, and writes the emitted paths into the body's implementation fence. Running the [finalization command](#finalization-command) locally first is optional and yields the same bytes.
|
|
16
16
|
6. **Validate:** one normal exact-head workflow validates the finalized head: implementation, synchronized specs, archive, manifest, tasks/evidence, exact PR-body list, and every selected product/governance scope before emitting the stable protected aggregate. A new commit or acceptance-list change re-finalizes automatically when needed and requires full renewed validation; no lifecycle body edit or second workflow run is required.
|
|
17
17
|
7. **Manual merge accepts:** after the stable protected aggregate succeeds, an authorized human reviews and manually merges the exact validated head. That single action means the listed scenarios are accepted and explicitly authorizes integration. Auto-merge, merge queue, Apps, bots, and documentation reconciliation are forbidden.
|
|
@@ -57,7 +57,7 @@ Do not add a quoted phase line or a routine `Validation` section listing command
|
|
|
57
57
|
|
|
58
58
|
## Acceptance
|
|
59
59
|
|
|
60
|
-
<!-- one to
|
|
60
|
+
<!-- one to ten plain behavior-and-result bullets -->
|
|
61
61
|
|
|
62
62
|
## Automation
|
|
63
63
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@timurproko/a1",
|
|
3
|
-
"version": "0.1.8-dev.
|
|
3
|
+
"version": "0.1.8-dev.527",
|
|
4
4
|
"description": "Standalone terminal workspace for supervised native and managed agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"privateLaunchContract": "neutral-launch-v1",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"clean": "node scripts/clean.mjs",
|
|
26
|
-
"build": "npm run clean && tsc -p tsconfig.build.json && node scripts/pi/build-pi-settings-metadata.mjs && node scripts/pi/build-startup-public.mjs && node scripts/development/build-process-guardian.mjs && node scripts/release/generate-runtime-payload-inventory.mjs",
|
|
26
|
+
"build": "node scripts/development/check-environment.mjs && npm run clean && tsc -p tsconfig.build.json && node scripts/pi/build-pi-settings-metadata.mjs && node scripts/pi/build-startup-public.mjs && node scripts/development/build-process-guardian.mjs && node scripts/release/generate-runtime-payload-inventory.mjs",
|
|
27
27
|
"build:process-guardian": "node scripts/development/build-process-guardian.mjs",
|
|
28
28
|
"typecheck": "tsgo -p tsconfig.json --noEmit && tsgo -p tsconfig.bin.json",
|
|
29
29
|
"check:architecture": "node scripts/governance/check-architecture.mjs && node scripts/governance/check-product-identity-boundaries.mjs && node scripts/governance/check-package-identity.mjs && node scripts/governance/check-pinned-pi-source-ledger.mjs && node scripts/governance/check-terminal-host-provenance.mjs",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"branches:prune": "node scripts/prune-merged-branches.mjs",
|
|
40
40
|
"check": "npm run test:fast",
|
|
41
41
|
"develop": "node scripts/development/develop.mjs",
|
|
42
|
+
"doctor": "node scripts/development/check-environment.mjs --report",
|
|
42
43
|
"release": "node scripts/release/release.mjs",
|
|
43
44
|
"test": "npm run test:fast",
|
|
44
45
|
"test:pr-core": "node scripts/release/run-validation-tier.mjs pr-core",
|
|
@@ -63,8 +64,8 @@
|
|
|
63
64
|
"typecheck:bin": "tsgo -p tsconfig.bin.json"
|
|
64
65
|
},
|
|
65
66
|
"dependencies": {
|
|
66
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
67
|
-
"@earendil-works/pi-tui": "0.
|
|
67
|
+
"@earendil-works/pi-coding-agent": "0.86.1",
|
|
68
|
+
"@earendil-works/pi-tui": "0.86.1",
|
|
68
69
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
69
70
|
"chalk": "5.6.2",
|
|
70
71
|
"cross-spawn": "7.0.6",
|