@llblab/pi-actors 0.22.5 → 0.24.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.
- package/AGENTS.md +125 -59
- package/BACKLOG.md +88 -403
- package/CHANGELOG.md +39 -0
- package/README.md +14 -1
- package/dist/fixtures/protocol/actor-message-branch.json +13 -0
- package/dist/fixtures/protocol/artifact-manifest.json +9 -0
- package/dist/fixtures/protocol/mailbox-contract.json +15 -0
- package/dist/fixtures/protocol/recipe-summary.json +16 -0
- package/dist/fixtures/protocol/room-message.json +11 -0
- package/dist/fixtures/protocol/room-roster.json +11 -0
- package/dist/fixtures/protocol/run-inbox-message.json +9 -0
- package/dist/fixtures/protocol/run-outbox-event.json +9 -0
- package/dist/fixtures/protocol/run-state.json +10 -0
- package/dist/index.js +18 -2
- package/dist/lib/actor-inspector-tui.d.ts +4 -0
- package/dist/lib/actor-inspector-tui.js +58 -44
- package/dist/lib/actor-rooms.d.ts +16 -0
- package/dist/lib/actor-rooms.js +123 -28
- package/dist/lib/actor-worker.d.ts +13 -0
- package/dist/lib/actor-worker.js +86 -0
- package/dist/lib/async-runner.d.ts +5 -0
- package/dist/lib/async-runner.js +134 -0
- package/dist/lib/async-runs.d.ts +34 -2
- package/dist/lib/async-runs.js +224 -50
- package/dist/lib/build-dist.d.ts +5 -0
- package/dist/lib/build-dist.js +24 -0
- package/dist/lib/command-templates.js +5 -5
- package/dist/lib/conformance.d.ts +12 -0
- package/dist/lib/conformance.js +28 -0
- package/dist/lib/coordinator.d.ts +5 -0
- package/dist/lib/coordinator.js +557 -0
- package/dist/lib/limits.d.ts +11 -0
- package/dist/lib/limits.js +11 -0
- package/dist/lib/locker.d.ts +5 -0
- package/dist/lib/locker.js +310 -0
- package/dist/lib/mailbox-loop.d.ts +41 -0
- package/dist/lib/mailbox-loop.js +62 -0
- package/dist/lib/observability.d.ts +2 -2
- package/dist/lib/observability.js +57 -57
- package/dist/lib/output.js +4 -5
- package/dist/lib/prompts.d.ts +1 -1
- package/dist/lib/prompts.js +1 -1
- package/dist/lib/recipe-discovery.js +1 -0
- package/dist/lib/recipe-references.d.ts +11 -2
- package/dist/lib/recipe-references.js +29 -4
- package/dist/lib/recipe-usage.d.ts +2 -1
- package/dist/lib/recipe-usage.js +15 -3
- package/dist/lib/recipe-utils.d.ts +5 -0
- package/dist/lib/recipe-utils.js +385 -0
- package/dist/lib/runtime-notifier.js +3 -7
- package/dist/lib/runtime.js +12 -2
- package/dist/lib/state-readers.d.ts +21 -0
- package/dist/lib/state-readers.js +74 -0
- package/dist/lib/tools.js +198 -39
- package/dist/lib/validate-recipe.d.ts +6 -0
- package/dist/lib/validate-recipe.js +104 -0
- package/dist/recipes/actor-worker.json +35 -0
- package/dist/recipes/coordinator-locker.json +45 -0
- package/dist/recipes/lens-swarm.json +66 -0
- package/dist/recipes/locker.json +45 -0
- package/dist/recipes/music-player.json +38 -0
- package/dist/recipes/pipeline-architect-coordinator.json +95 -0
- package/dist/recipes/pipeline-artifact-bundle.json +100 -0
- package/dist/recipes/pipeline-artifact-report.json +58 -0
- package/dist/recipes/pipeline-artifact-write.json +72 -0
- package/dist/recipes/pipeline-async-run-ops.json +70 -0
- package/dist/recipes/pipeline-checkpoint-continuation.json +67 -0
- package/dist/recipes/pipeline-development-tasking.json +81 -0
- package/dist/recipes/pipeline-docs-maintenance.json +80 -0
- package/dist/recipes/pipeline-media-library.json +59 -0
- package/dist/recipes/pipeline-quorum-review.json +79 -0
- package/dist/recipes/pipeline-release-readiness.json +110 -0
- package/dist/recipes/pipeline-release-summary.json +88 -0
- package/dist/recipes/pipeline-repo-health.json +89 -0
- package/dist/recipes/pipeline-research-synthesis.json +94 -0
- package/dist/recipes/pipeline-review-readiness.json +54 -0
- package/dist/recipes/pipeline-room-swarm.json +50 -0
- package/dist/recipes/subagent-artifact.json +32 -0
- package/dist/recipes/subagent-checkpoint.json +33 -0
- package/dist/recipes/subagent-conflict-report.json +32 -0
- package/dist/recipes/subagent-contradiction-map.json +33 -0
- package/dist/recipes/subagent-critic.json +35 -0
- package/dist/recipes/subagent-evidence-map.json +33 -0
- package/dist/recipes/subagent-followup.json +33 -0
- package/dist/recipes/subagent-judge.json +33 -0
- package/dist/recipes/subagent-merge.json +33 -0
- package/dist/recipes/subagent-message.json +34 -0
- package/dist/recipes/subagent-normalize.json +31 -0
- package/dist/recipes/subagent-plan.json +33 -0
- package/dist/recipes/subagent-prompt.json +28 -0
- package/dist/recipes/subagent-quorum.json +43 -0
- package/dist/recipes/subagent-review-coordinator.json +114 -0
- package/dist/recipes/subagent-review.json +37 -0
- package/dist/recipes/subagent-task-card.json +35 -0
- package/dist/recipes/subagent-tools.json +27 -0
- package/dist/recipes/subagent-verify.json +34 -0
- package/dist/recipes/subagents-prompts.json +51 -0
- package/dist/recipes/utility-actor-message.json +23 -0
- package/dist/recipes/utility-artifact-manifest.json +16 -0
- package/dist/recipes/utility-artifact-write.json +16 -0
- package/dist/recipes/utility-changelog-head.json +11 -0
- package/dist/recipes/utility-changelog-section.json +13 -0
- package/dist/recipes/utility-coordinator-lock-snapshot.json +13 -0
- package/dist/recipes/utility-git-log.json +11 -0
- package/dist/recipes/utility-git-status.json +9 -0
- package/dist/recipes/utility-jsonl-tail.json +10 -0
- package/dist/recipes/utility-markdown-index.json +14 -0
- package/dist/recipes/utility-package-summary.json +11 -0
- package/dist/recipes/utility-playlist-build.json +17 -0
- package/dist/recipes/utility-playlist-scan.json +11 -0
- package/dist/recipes/utility-run-ops-snapshot.json +17 -0
- package/dist/recipes/utility-run-state-files.json +13 -0
- package/dist/recipes/utility-run-summary.json +11 -0
- package/dist/recipes/utility-skill-summary.json +13 -0
- package/dist/recipes/utility-validate-recipe.json +13 -0
- package/dist/recipes/utility-validation-wrapper.json +13 -0
- package/dist/scripts/actor-worker.mjs +31 -0
- package/dist/scripts/async-runner.mjs +31 -0
- package/dist/scripts/build-dist.mjs +25 -0
- package/dist/scripts/conformance.mjs +33 -0
- package/dist/scripts/coordinator.mjs +31 -0
- package/dist/scripts/locker.mjs +33 -0
- package/dist/scripts/music-player.mjs +964 -0
- package/dist/scripts/recipe-utils.mjs +31 -0
- package/dist/scripts/validate-recipe.mjs +34 -0
- package/dist/skills/actors/SKILL.md +375 -0
- package/dist/skills/swarm/SKILL.md +467 -0
- package/dist/skills/swarm/references/development-swarm.md +596 -0
- package/docs/actor-messages.md +2 -2
- package/docs/async-runs.md +13 -1
- package/docs/template-recipes.md +2 -2
- package/docs/tool-registry.md +0 -1
- package/fixtures/protocol/actor-message-branch.json +13 -0
- package/fixtures/protocol/artifact-manifest.json +9 -0
- package/fixtures/protocol/mailbox-contract.json +15 -0
- package/fixtures/protocol/recipe-summary.json +16 -0
- package/fixtures/protocol/room-message.json +11 -0
- package/fixtures/protocol/room-roster.json +11 -0
- package/fixtures/protocol/run-inbox-message.json +9 -0
- package/fixtures/protocol/run-outbox-event.json +9 -0
- package/fixtures/protocol/run-state.json +10 -0
- package/index.ts +21 -0
- package/lib/actor-inspector-tui.ts +138 -59
- package/lib/actor-rooms.ts +241 -60
- package/lib/actor-worker.ts +118 -0
- package/lib/async-runner.ts +173 -0
- package/lib/async-runs.ts +302 -53
- package/lib/build-dist.ts +30 -0
- package/lib/command-templates.ts +5 -5
- package/lib/conformance.ts +46 -0
- package/lib/coordinator.ts +649 -0
- package/lib/limits.ts +12 -0
- package/lib/locker.ts +340 -0
- package/lib/mailbox-loop.ts +148 -0
- package/lib/observability.ts +34 -23
- package/lib/output.ts +4 -6
- package/lib/prompts.ts +1 -1
- package/lib/recipe-discovery.ts +1 -0
- package/lib/recipe-references.ts +57 -6
- package/lib/recipe-usage.ts +31 -4
- package/lib/recipe-utils.ts +486 -0
- package/lib/runtime-notifier.ts +4 -6
- package/lib/runtime.ts +31 -7
- package/lib/state-readers.ts +93 -0
- package/lib/tools.ts +297 -58
- package/lib/validate-recipe.ts +110 -0
- package/package.json +11 -2
- package/recipes/actor-worker.json +35 -0
- package/recipes/pipeline-quorum-review.json +12 -7
- package/scripts/actor-worker.mjs +31 -0
- package/scripts/async-runner.mjs +11 -195
- package/scripts/build-dist.mjs +25 -0
- package/scripts/conformance.mjs +33 -0
- package/scripts/coordinator.mjs +19 -616
- package/scripts/locker.mjs +23 -322
- package/scripts/music-player.mjs +21 -2
- package/scripts/recipe-utils.mjs +20 -467
- package/scripts/validate-recipe.mjs +23 -113
- package/skills/actors/SKILL.md +7 -4
- package/skills/swarm/SKILL.md +3 -1
package/AGENTS.md
CHANGED
|
@@ -2,80 +2,146 @@
|
|
|
2
2
|
|
|
3
3
|
## Meta-Protocol Principles
|
|
4
4
|
|
|
5
|
-
- `Constraint-Driven Evolution`: Add structure when real project constraints justify it
|
|
6
|
-
- `Single Source of Truth`: Keep durable protocol, open work, completed delivery, and docs in separate files
|
|
7
|
-
- `Context Hygiene`: Compress stale context before it becomes coordination drag
|
|
8
|
-
- `Boundary Clarity`: README is the human entrypoint, `AGENTS.md` is durable protocol, `BACKLOG.md` is open work, and `CHANGELOG.md` is delivery history
|
|
5
|
+
- `Constraint-Driven Evolution`: Add structure when real project constraints justify it.
|
|
6
|
+
- `Single Source of Truth`: Keep durable protocol, open work, completed delivery, and docs in separate files.
|
|
7
|
+
- `Context Hygiene`: Compress stale context before it becomes coordination drag.
|
|
8
|
+
- `Boundary Clarity`: README is the human entrypoint, `AGENTS.md` is durable protocol, `BACKLOG.md` is open work, and `CHANGELOG.md` is delivery history.
|
|
9
9
|
|
|
10
10
|
## Concept
|
|
11
11
|
|
|
12
|
-
`pi-actors` is a local-first actor runtime and orchestrator for
|
|
12
|
+
`pi-actors` is a local-first actor runtime and orchestrator for Pi. It wraps trusted local programs, scripts, services, pipelines, and recipes as addressable actors that agents can `spawn`, control with typed `message` envelopes, and observe with `inspect`. It also persists user/agent-registered actor-control tools as recipe files under `~/.pi/agent/recipes`, giving agents durable operational muscle memory for launching and managing the local actor zoo.
|
|
13
|
+
|
|
14
|
+
Treat this extension as an experimental self-evolution membrane for the agent harness: a way for agents that are not pretrained on local workflows to acquire, preserve, inspect, and refine operational capabilities through explicit local actors, recipes, fixtures, skills, and state rather than hidden assumptions. Keep that potential grounded in small, testable, operator-visible protocol slices.
|
|
13
15
|
|
|
14
16
|
## Topology
|
|
15
17
|
|
|
16
|
-
- `/index.ts`: Minimal extension coordinator/composition root
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `/
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
18
|
+
- `/index.ts`: Minimal extension coordinator/composition root. It wires live pi ports and should avoid owning domain behavior.
|
|
19
|
+
|
|
20
|
+
## Domain Modules
|
|
21
|
+
|
|
22
|
+
- `/lib/*.ts`: Flat Domain DAG modules for cohesive reusable behavior.
|
|
23
|
+
- `command-templates.ts`: portable command-template execution graph.
|
|
24
|
+
- `schema.ts`: tool arg declarations and placeholder-derived schemas.
|
|
25
|
+
- `identity.ts`, `paths.ts`, `config.ts`: names, paths, and persistence.
|
|
26
|
+
- `registry.ts`, `runtime.ts`: register/update/delete, load/conflict/registration coordination.
|
|
27
|
+
- `execution.ts`, `output.ts`, `limits.ts`: registered-tool execution and bounded output.
|
|
28
|
+
- `recipe-references.ts`, `recipe-discovery.ts`, `recipe-usage.ts`: recipe graph, discovery, and usage metadata.
|
|
29
|
+
- `async-runs.ts`, `runtime-notifier.ts`, `mailbox-loop.ts`: detached run state, wake notifications, and mailbox worker helpers.
|
|
30
|
+
- `actor-rooms.ts`, `actor-inspector-tui.ts`, `observability.ts`: rooms, communication previews, and ambient run status.
|
|
31
|
+
- `prompts.ts`, `tools.ts`, `temp.ts`: LLM-facing copy, pi-facing tool definitions, and temp cleanup.
|
|
32
|
+
|
|
33
|
+
## Repo Surfaces
|
|
34
|
+
|
|
35
|
+
- `/scripts/*.mjs`: Stable executable shims for detached/helper processes.
|
|
36
|
+
- `/lib/*.ts`: Compiled domain and script-entrypoint logic. Keep `scripts/*.mjs` lightweight and move substantive behavior into named domain modules so `dist/lib` is the JS-only runtime surface. This intentionally grows a standard library: script-born behavior should gain a clear domain name when reuse is plausible. Exception: self-contained application scripts with no expected second consumer, such as `music-player.mjs`, may remain standalone `.mjs` files.
|
|
37
|
+
- `/recipes/*.json`: Packaged standard recipe library. Keep recipes optional, composable, policy-light, and caller-configurable.
|
|
38
|
+
- `/skills/actors/SKILL.md`: Dense practical reference for operating pi-actors itself.
|
|
39
|
+
- `/skills/swarm/SKILL.md`: Bundled methodology skill for multi-agent standards, strategies, and portable examples.
|
|
40
|
+
- `/tests/*.test.ts`: Focused regression tests for pure domains.
|
|
41
|
+
- `/README.md`: Human-facing install, usage, and runtime semantics.
|
|
42
|
+
- `/BACKLOG.md`: Canonical open work; only completable future work.
|
|
43
|
+
- `/CHANGELOG.md`: Completed delivery history.
|
|
44
|
+
- `/docs/README.md`: Documentation index.
|
|
29
45
|
|
|
30
46
|
## Operating Principles
|
|
31
47
|
|
|
32
|
-
- Prefer explicit migration boundaries over silent user-config rewrites
|
|
33
|
-
- Keep published documentation portable: use `~`, `<repo>`, or relative paths instead of machine-local absolute paths
|
|
34
|
-
- Preserve runtime output discipline because tool output flows directly into agent context
|
|
35
|
-
- Keep the project lens local-first and cybernetic: agents wrap durable local capabilities as actors, then use semantic tools and messages instead of repeatedly reconstructing shell commands
|
|
36
|
-
- Design recipes as agent-callable tools: make prompts, scopes, paths, models, and policy knobs public args/defaults when the caller should decide them at invocation time
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- `
|
|
44
|
-
- `
|
|
45
|
-
-
|
|
46
|
-
- `
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
48
|
+
- Prefer explicit migration boundaries over silent user-config rewrites.
|
|
49
|
+
- Keep published documentation portable: use `~`, `<repo>`, or relative paths instead of machine-local absolute paths.
|
|
50
|
+
- Preserve runtime output discipline because tool output flows directly into agent context.
|
|
51
|
+
- Keep the project lens local-first and cybernetic: agents wrap durable local capabilities as actors, then use semantic tools and messages instead of repeatedly reconstructing shell commands.
|
|
52
|
+
- Design recipes as agent-callable tools: make prompts, scopes, paths, models, and policy knobs public args/defaults when the caller should decide them at invocation time.
|
|
53
|
+
- Decompose oversized bullets into sublists or hierarchy; long flat list items are a context-smell.
|
|
54
|
+
|
|
55
|
+
## Knowledge Surfaces
|
|
56
|
+
|
|
57
|
+
- Injected prompt: tiny bootstrap/reminder, never full docs.
|
|
58
|
+
- README: public face of the project. Keep it current, focused, pruned, and limited to highest-signal scenarios.
|
|
59
|
+
- `actors` skill: agent-facing manual for operating the extension and navigating bundled recipes.
|
|
60
|
+
- `swarm` skill: multi-agent methodology, strategies, standards, and portable examples.
|
|
61
|
+
- `/docs`: detailed transportable standards read on demand.
|
|
62
|
+
- `AGENTS.md`: durable project protocol for agents changing this repo.
|
|
63
|
+
- Skill evolution is passive-active: when implementation yields durable mechanics, invariants, warnings, or orchestration lessons, update `skills/actors/SKILL.md` or `skills/swarm/SKILL.md` immediately instead of carrying evergreen skill-upkeep items in `BACKLOG.md`.
|
|
64
|
+
|
|
65
|
+
## Public Actor Model
|
|
66
|
+
|
|
67
|
+
- Preserve the public verbs: `spawn`, `message`, `inspect`.
|
|
68
|
+
- Prefer one typed actor-message envelope for upward, downward, lateral, parent/branch, and branch/parent messages.
|
|
69
|
+
- Prefer actor addresses and inspect views over exposing FIFO, outbox, or status mechanics as public concepts.
|
|
70
|
+
- Keep route and semantic type separate: delivery behavior comes from `to`, while `type` describes intent.
|
|
71
|
+
- Treat dotted message types as the minimal action surface: `channel.action` should often be enough for script-backed actors, with `body` reserved for extra context or free-form prompts to LLM-backed actors.
|
|
72
|
+
|
|
73
|
+
## Runtime Contract
|
|
74
|
+
|
|
75
|
+
- Register trusted command templates with placeholder-derived args, progressive typed arg declarations, inline/default/`??`/ternary fallback, and split-first command argv construction.
|
|
76
|
+
- Keep command templates synchronous and portable; `async: true` is the detached run switch.
|
|
77
|
+
- Preserve node controls: `when`, positive `timeout`, `delay`, bounded `retry`, `failure`, and `recover` cleanup.
|
|
78
|
+
- Keep async run state under `~/.pi/agent/tmp/pi-actors/runs` with injected `{run_id}` and `{state_dir}` values.
|
|
79
|
+
- Preserve event-driven observability: terminal follow-ups, coordinator-bound outbox messages, branch-aware triangles, process-tree expansion, and bounded body previews.
|
|
80
|
+
- Do not restore busy-polling examples, duplicate terminal follow-ups, or duplicate follow-ups for handled `cancel`, `kill`, or control-stop actions.
|
|
81
|
+
|
|
82
|
+
## Recipes And Registry
|
|
83
|
+
|
|
84
|
+
- `~/.pi/agent/recipes/*.json` is executable muscle memory: recipes there become persistent tools by location.
|
|
85
|
+
- Preserve filename identity, atomic writes, explicit operator-gated migration paths, and local transportability.
|
|
86
|
+
- Packaged/ad hoc recipes outside the agent root are components, not user tools.
|
|
87
|
+
- Tool definitions use `template`, not `script`, and built-in/core tool names must not be shadowed.
|
|
88
|
+
- Packaged recipe growth is demand-driven: prefer reusable components over speculative scenario catalogs.
|
|
89
|
+
- Recipe templates may point directly at executable helper scripts; keep script executable bits and avoid unnecessary `node` prefixes.
|
|
90
|
+
|
|
91
|
+
## Command And Recipe Layers
|
|
92
|
+
|
|
93
|
+
- Keep command-template semantics in `docs/command-templates.md`.
|
|
94
|
+
- Keep recipe storage/import/default/reference behavior in `docs/template-recipes.md`.
|
|
95
|
+
- Keep detached lifecycle/state/IPC behavior in `docs/async-runs.md`.
|
|
96
|
+
- Imported recipes are command-template-shaped definitions, not async-run instances.
|
|
97
|
+
- Valid chain: `tool → template → recipe → run → template`; reject cyclic shortcuts.
|
|
98
|
+
- Typed args support `string`, `path`, `int`, `number`, `bool`, `array`, and `enum(...)`.
|
|
99
|
+
- Preserve both metadata-first args and inline-first placeholder style.
|
|
100
|
+
|
|
101
|
+
## State, IO, And Safety
|
|
102
|
+
|
|
103
|
+
- Tool stdout and temp state must stay bounded and local.
|
|
104
|
+
- Keep tail truncation, full-output temp files, failure formatting, and centralized limits intact.
|
|
105
|
+
- Published docs must not include machine-local absolute paths.
|
|
106
|
+
- Any view scanning run directories must apply coordinator/session ownership filters before exposing summaries or previews.
|
|
107
|
+
- Direct branch messages are active inbox queues; guard branch-local append/status rewrites with the branch inbox lock and keep claim/handled/failed transitions tested.
|
|
108
|
+
- Room/branch provenance checks should validate that accepted `from` addresses belong to the addressed run.
|
|
109
|
+
|
|
110
|
+
## Coordination And Lifecycle
|
|
111
|
+
|
|
112
|
+
- Persistent implementer workflows are recipe composition, not one-off scripts.
|
|
113
|
+
- Compose cells such as `coordinator-locker`, subagent launchers, actor-message utilities, and mailbox-loop helpers.
|
|
114
|
+
- Preserve JSON envelope object shape across handoffs.
|
|
115
|
+
- Keep locker state generic and thin; orchestration strategy belongs in the coordinator.
|
|
116
|
+
- Graceful actor retirement is opt-in through recipe/run metadata and must not infer retirement for persistent services or backlog implementers.
|
|
117
|
+
|
|
118
|
+
## Context And Planning Hygiene
|
|
119
|
+
|
|
120
|
+
- `BACKLOG.md` is planning, not history: only completable future work with current scope and exit criteria.
|
|
121
|
+
- Completed delivery belongs in `CHANGELOG.md`.
|
|
122
|
+
- Durable/evergreen behavior belongs in `AGENTS.md`, README, docs, or skills.
|
|
123
|
+
- Changelog bullets describe meaningful user/operator/developer changes, not release bookkeeping.
|
|
124
|
+
- PR/release summaries are temporary artifacts; keep durable release evidence in `CHANGELOG.md` and gates in `BACKLOG.md`.
|
|
125
|
+
- Meaningful implementation or docs changes must reconcile `BACKLOG.md`, `CHANGELOG.md`, README, and docs navigation.
|
|
61
126
|
|
|
62
127
|
## Validation
|
|
63
128
|
|
|
64
|
-
- `npm run check`: Lightweight extension-load sanity check
|
|
65
|
-
- `npm test`: Focused regression tests for extracted pure domains
|
|
66
|
-
- `npm run pack:dry`: Verify package contents and npm metadata
|
|
67
|
-
- `
|
|
129
|
+
- `npm run check`: Lightweight extension-load sanity check.
|
|
130
|
+
- `npm test`: Focused regression tests for extracted pure domains.
|
|
131
|
+
- `npm run pack:dry`: Verify package contents and npm metadata.
|
|
132
|
+
- `npm run conformance`: Compact protocol conformance runner for actor/recipe behavior.
|
|
133
|
+
- `bash ~/.pi/agent/skills/abcd-context/scripts/validate-context.sh`: Validate context split, links, and README/docs reachability.
|
|
68
134
|
|
|
69
135
|
## Pre-Task Preparation
|
|
70
136
|
|
|
71
|
-
1. Read this file, `BACKLOG.md`, and `README.md
|
|
72
|
-
2. Inspect `index.ts` around the touched tool/runtime path
|
|
73
|
-
3. Prefer targeted edits over broad rewrites
|
|
74
|
-
4. Run the smallest validation set that covers the touched scope
|
|
137
|
+
1. Read this file, `BACKLOG.md`, and `README.md`.
|
|
138
|
+
2. Inspect `index.ts` around the touched tool/runtime path.
|
|
139
|
+
3. Prefer targeted edits over broad rewrites.
|
|
140
|
+
4. Run the smallest validation set that covers the touched scope.
|
|
75
141
|
|
|
76
142
|
## Task Completion Protocol
|
|
77
143
|
|
|
78
|
-
1. Reconcile backlog state with reality: close, narrow, split, defer, or gate items explicitly
|
|
79
|
-
2. Update README/docs when public behavior, setup, package contents, or navigation changes
|
|
80
|
-
3. Record meaningful delivered slices in `CHANGELOG.md
|
|
81
|
-
4. Run relevant validation and report exact commands
|
|
144
|
+
1. Reconcile backlog state with reality: close, narrow, split, defer, or gate items explicitly.
|
|
145
|
+
2. Update README/docs when public behavior, setup, package contents, or navigation changes.
|
|
146
|
+
3. Record meaningful delivered slices in `CHANGELOG.md`.
|
|
147
|
+
4. Run relevant validation and report exact commands.
|