#1006 Extend lifecycle-event instrumentation to five high-traffic skills - #1034
Merged
Conversation
Sessions running `plan` now appear in the live lane view: planning start, the saved plan artifact, completion, and the wait at the next-steps menu are all reported as they happen.
…t cues Sessions running `refine-plan` now appear in the live lane view: the run's start, the wait on plan-review questions, the saved revised plan, completion (including the no-findings and failed-revision endings), and the wait at the next-steps menu are all reported as they happen.
…event cues Sessions running `design-and-plan` now appear in the live lane view. Every ask in the design dialogue — clarifying questions, approval gates, the next-steps menu — is reported with a short label before it is presented, so a watcher can see at a glance which question each session is waiting on. The run's start, the saved ticket and plan artifacts, completion, and early stops are reported as they happen.
Sessions running `merge-pr` now appear in the live lane view: the run's start, the wait at the merge-approval gate, and the outcome — merged, declined, or stopped — are reported as they happen.
…nt cues Orchestrated runs now appear in the live lane view under the wrapper skill that launched them (`orchestrate-dev` or `orchestrate-review`): the run's start, the MCP-availability prompt, the saved run summary, the run outcome, and the wrap-up offer are reported as they happen. Lifecycle reporting works even when the MCP server is unavailable.
The wait at `refine-plan`'s ticket-update offer is now reported to the live lane view, so a session paused on that consent no longer appears finished and silent.
Dependency auditProduction dependency audit passed. |
williamthorsen
marked this pull request as ready for review
July 19, 2026 03:25
1 task
williamthorsen
added a commit
that referenced
this pull request
Aug 4, 2026
…e-v0.2.2 codeassembly-v0.4.0 factory-v0.2.2 codeassembly-mcp-v0.2.2 codeassembly-v0.4.0 - #1153 feat: Make codeassembly and kb CLI tools publishable (#1164) - #1091 fix: Anchor a project-deployed link where its target deploys (#1159) - #1156 refactor: Rename packages to publishable names (#1157) - #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155) - #1110 tooling: Migrate Vitest to nmr's centralized model (#1154) - refactor: Refine typescript-preferences - #1150 fix: State doc-description form and make comment mood opt-in (#1151) - deps: Upgrade first-party linting deps to latest version - #1137 feat: Establish personal rulebooks for code layout and TypeScript preferences (#1144) - #1126 feat: Check a package's own guidance content before it ships (#1138) - refactor: Fix lint - tooling: Remove redundant lint rules - #1133 fix: Reject an anchor link that names no heading (#1135) - #1122 feat: Capture lede decisions as an accumulating corpus (#1132) - #1125 feat: Honor invocation tokens in rulebook bodies (#1129) - #1107 feat: Render rulebook links and path tokens per harness (#1124) - #1115 feat: Sync guidance at build and install so an upgrade cannot leave it stale (#1123) - #1114 feat: Adopt a dependency's guidance by naming the package (#1121) - #1088 feat: Deliver project ambient rulebooks per harness (#1113) - #1087 refactor: Rename the authoring rulebook and mark its enforced rules (#1092) - #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102) - #1094 refactor: Remove the ambient ripgrep dependency from the test suite (#1097) - deps: Upgrade all deps to latest version - tooling: Upgrade all deps to latest version & modernize configs - refactor: Fix lint - #1077 feat: Show the proposed edit above post-review menu options (#1078) - #1068 feat: Deliver ambient rulebooks mechanically, retiring GLOBAL.md (#1075) - #1069 feat: Add a no-second-person rule to the lede-voice doctrine (#1070) - #1050 feat: Add a redundancy rule to the lede-voice doctrine (#1058) - #1035 internal: Add lifecycle workspace with the canonical envelope, vocabulary & lane fold (#1049) - #1006 internal: Extend lifecycle-event instrumentation to five high-traffic skills (#1034) - #1028 feat: Rule out absence-of-removed-code tests (#1032) - #114 feat: Let reviewers emit gated insights into review artifacts (#1031) - #1027 internal: Retire input.received and redundant skill.progress emits (#1030) - #1026 fix: Name the side effects an approval ask authorizes (#1029) - #1022 fix: Normalize action and question label identifiers across asks blocks (#1025) factory-v0.2.2 - #1156 refactor: Rename packages to publishable names (#1157) - deps: Upgrade all deps to latest version - #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155) - #1110 tooling: Migrate Vitest to nmr's centralized model (#1154) - tooling: Remove redundant lint rules - deps: Upgrade deps to latest version - deps: Upgrade all deps to latest version - deps: Upgrade all deps to latest version - tooling: Upgrade all deps to latest version & modernize configs - refactor: Fix lint - deps: Upgrade all deps to latest version kb-v0.3.0 - #1153 feat: Make codeassembly and kb CLI tools publishable (#1164) - #1156 refactor: Rename packages to publishable names (#1157) - #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155) - #1110 tooling: Migrate Vitest to nmr's centralized model (#1154) - tooling: Remove redundant lint rules - #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102) - tooling: Upgrade all deps to latest version & modernize configs - refactor: Fix lint codeassembly-lifecycle-v0.2.0 - #1153 feat: Make codeassembly and kb CLI tools publishable (#1164) - #1156 refactor: Rename packages to publishable names (#1157) - #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155) - #1110 tooling: Migrate Vitest to nmr's centralized model (#1154) - tooling: Remove redundant lint rules - #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102) - tooling: Upgrade all deps to latest version & modernize configs - #1038 feat: Add the read-only git adapter for worktree and base-branch ground truth (#1059) - #1051 feat: Bound fold memory and rescan cost with a retention window (#1057) - #1035 internal: Add lifecycle workspace with the canonical envelope, vocabulary & lane fold (#1049) codeassembly-mcp-v0.2.2 - deps: Upgrade all deps to latest version - #1156 refactor: Rename packages to publishable names (#1157) - #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155) - #1110 tooling: Migrate Vitest to nmr's centralized model (#1154) - #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102) - tooling: Upgrade all deps to latest version & modernize configs - refactor: Fix lint codeassembly-run-core-v0.2.2 - #1156 refactor: Rename packages to publishable names (#1157) - #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155) - #1110 tooling: Migrate Vitest to nmr's centralized model (#1154) - #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102) - tooling: Upgrade all deps to latest version & modernize configs - refactor: Fix lint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Sessions running plan, refine-plan, design-and-plan, and merge-pr, along with orchestrated runs, now surface in the live lane view. A watcher sees each run start, where it pauses waiting on a specific question or approval, the artifacts it saves, and how it ends: completed, stopped, or declined. In design-and-plan, every question in the design dialogue now surfaces individually, so a watcher can tell at a glance which one a paused session is waiting on. Orchestrated runs are labeled with the workflow that launched them.
Why
Only a handful of skills reported their lifecycle to the live lane view, so most planning, merge, and orchestration sessions ran invisibly — a watcher could not tell what a session was doing or which question it was blocked on — and evidence about the event channel accrued slowly. These five sites were the untracked high-traffic remainder.
Details
🏗️ Internal features
skill.started,skill.completed,artifact.written,input.requested) via step-anchored cues:plan,refine-plan,design-and-plan,merge-pr, and theorchestrateengine.design-and-plancarries a standing "narrate every ask" rule, so each dialogue question emitsinput.requestedwith a short label before it is presented.orchestrateengine attributes each run to its invoking wrapper (orchestrate-devororchestrate-review) in theskill.startedpayload, and its lifecycle emission runs regardless of MCP availability — the lane-view channel is a separate helper, not an MCP tool, so reporting survives an unavailable tracking server._partials/lifecycle-events.mdinclude; each skill body carries only cues, so there is no per-skill boilerplate to drift.Closes #1006