Skip to content

LLP 0174: Accepted -> Active, its change set shipped in #585 - #590

Merged
philcunliffe merged 1 commit into
masterfrom
fix/issue-589
Aug 4, 2026
Merged

LLP 0174: Accepted -> Active, its change set shipped in #585#590
philcunliffe merged 1 commit into
masterfrom
fix/issue-589

Conversation

@philcunliffe

Copy link
Copy Markdown
Contributor

One-line lifecycle move: llp/0174-attach-prompts-to-enable.design.md goes Accepted -> Active.

Per LLP 0016 (Shipped is Active), the implementation flips its design's status so a merged change set reads as shipped. That step was missed when #585 merged (f17b0917).

Why this is worth a PR rather than a cleanup someday

While 0174 sits at Accepted with no integration/ branch, neutral observe reports it as implementable:

gaps: [{ "family": "pipeline", "target": "llp#174",
         "reason": "accepted design merged to target - needs implementation" }]

Acting on that would seed integration/attach-prompts-to-enable off master and re-implement the plan's 11 tasks against a tree that already contains them. #585 was squash-merged and the task/attach-prompts-to-enable/T* branches were deleted, so a fresh integration branch carries no merge commits naming them and every task re-derives as not-done. The LLP 0051 deleted-ref rule does not cover this, since it recovers a merged task from the integration branch's own merge commit.

The reconciler tick that opened this deliberately skipped that gap instead of acting on it.

Verification

neutral observe --json reports implementable: [] and no llp#174 gap once this lands. The change set's code is already on master (enableWriteCannotDeliver, resolveAttachEnablementState, activatePluginDependencyClosure), and its plan llp/0178 is already Active.

Lifecycle move, not a content edit, so LLP immutability holds. CLAUDE.md also lists status changes among the permitted mechanical edits on an Accepted doc.

Fixes #589

Per LLP 0016 (Shipped is Active) the implementation flips the design's
status so a merged change set reads as shipped. That step was missed when
#585 merged (f17b091), leaving neutral observe reporting llp#174 as
implementable - a false positive whose seed path would re-implement all 11
already-merged tasks against a squash-merged history that no longer names
their task branches.

Lifecycle move, not a content edit, so immutability holds.

Fixes #589

Co-Authored-By: Claude <noreply@anthropic.com>
@philcunliffe

Copy link
Copy Markdown
Contributor Author

Review: clean

Disclosure: this was reviewed by the reconciler that authored it, not by an independent agent. That is a deliberate proportionality call for a diff of one status token, and it is recorded here so a reader can weigh it. Anything with behavior in it gets an independent reviewer.

Diff

One file, one line:

 **Type:** design
-**Status:** Accepted
+**Status:** Active

git diff --name-only origin/master...origin/fix/issue-589 returns llp/0174-attach-prompts-to-enable.design.md and nothing else. No prose, headings, anchors or metadata other than Status were touched, so no @ref pointing into this doc can break.

Is the premise true? (the part worth checking)

The claim is that the change set shipped, so its design should read Active per LLP 0016. Verified on origin/master rather than inferred:

evidence state
merge commit f17b0917 "Manual attach prompts to enable the client adapter (LLP 0174/0178) (#585)"
enableWriteCannotDeliver present, src/core/commands/clients.js
resolveAttachEnablementState present, src/core/commands/clients.js
activatePluginDependencyClosure present, src/core/cli/dispatch.js
llp/0178-...plan.md present, Status: Active

The plan is already Active while its design is not, which is itself the inconsistency this corrects.

Immutability

A status change is a lifecycle move, not an edit to what the doc settled. LLP 0016 §Shipped is Active prescribes exactly this transition, and CLAUDE.md lists status changes among the permitted mechanical edits on an Accepted doc. No content is altered.

Gates

CI and llp-check both green at 30511fb9; MERGEABLE. llp-check passing is the meaningful signal here, since it is the job that validates LLP document structure.

Verification after merge

neutral observe --json should report implementable: [] with no llp#174 gap. If it does not, this PR did not achieve its purpose and the residual should be investigated rather than worked around.

@philcunliffe
philcunliffe marked this pull request as ready for review August 4, 2026 00:56
@philcunliffe philcunliffe added the neutral:approved neutral reviewed this and holds it for a maintainer merge (own or adopted PR; LLP 0025/0030) label Aug 4, 2026
@philcunliffe
philcunliffe merged commit fb60a9f into master Aug 4, 2026
9 checks passed
@philcunliffe
philcunliffe deleted the fix/issue-589 branch August 4, 2026 21:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

neutral:approved neutral reviewed this and holds it for a maintainer merge (own or adopted PR; LLP 0025/0030)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LLP 0174 still Accepted after its change set shipped, so neutral reports it as implementable

1 participant