Skip to content

fix(command): plan-goal/execute-goal extract only leading # Tasks wikilink#56

Merged
bborbe merged 1 commit into
masterfrom
fix/goal-tasklink-extraction
Jul 12, 2026
Merged

fix(command): plan-goal/execute-goal extract only leading # Tasks wikilink#56
bborbe merged 1 commit into
masterfrom
fix/goal-tasklink-extraction

Conversation

@bborbe

@bborbe bborbe commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Problem

plan-goal and execute-goal extracted every [[...]] in a goal's # Tasks section as a task. But task list items routinely carry prose cross-references in their description (e.g. 4. [[Write Goal Lifecycle Guide]] — grid mirroring [[Task Lifecycle Guide]] (→ SC5)). The trailing [[Task Lifecycle Guide]] was mis-read as a phantom missing task, so plan-goal would wrongly report the goal as not plan-ready and execute-goal's drain walk would trip on it.

Found by

Dogfooding the freshly-shipped commands (v0.101.0) against the real Phase-Gated Goal Flow goal — whose Task 4 line references [[Task Lifecycle Guide]] in prose. The two structural auditors reviewed shape and missed this data edge case; only exercising against a real goal surfaced it.

Fix

Both commands now extract only the leading [[...]] of each # Tasks list item as the task. Wikilinks later in the same item (after : guide / Success Criterion / other-goal references) are ignored. Inline-code-span and |alias rules unchanged.

  • commands/plan-goal.md — hard check add list command #3 extraction rules (added the leading-wikilink rule with a worked example)
  • commands/execute-goal.md — hard check add list command #3 + the step-7 drain walk

Review

  • make precommit green.
  • Markdown-rule clarification only; no Go, no behavior beyond the documented extraction rule.
  • Plugin-only → autoRelease bumps versions post-merge.

… wikilink

A # Tasks list item's task is its FIRST wikilink; wikilinks in the
trailing description (guide / SC / goal cross-references) were being
mis-read as phantom missing tasks. Caught by dogfooding against a real
goal whose Task 4 line references [[Task Lifecycle Guide]] in prose.
@bborbe bborbe marked this pull request as ready for review July 12, 2026 16:41

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now I have enough to produce the report. This PR changes only markdown files (CHANGELOG.md + two command docs). The concerns about verifying Go implementation cannot be addressed — no Go code in diff.

{
  "verdict": "approve",
  "summary": "Documentation-only PR updating the wikilink-extraction rule in plan-goal and execute-goal command docs. The Unreleased changelog entry correctly describes the fix. Version strings are aligned across plugin manifests (all at 0.101.0). The behavioral claim (leading-wikilink-only rule) cannot be verified from diff alone since no Go implementation is included — this appears to be a docs-forward PR where the behavior change may already exist in the binary, or the binary update is a separate commit.",
  "comments": [
    {
      "file": "CHANGELOG.md",
      "line": 11,
      "severity": "major",
      "message": "Should Fix — the Unreleased changelog entry says the bug 'was wrong in v0.101.0' and that plan-goal/execute-goal 'now treat only the leading wikilink' — but there is no Go code change in this PR to verify the binary actually implements that behavior. If the bug existed in v0.101.0 and this is purely a doc update, either the fix is in a different commit, or the changelog is misleading by implying the bug is being fixed here."
    },
    {
      "file": "commands/plan-goal.md",
      "line": 68,
      "severity": "minor",
      "message": "Nice to Have — the three extraction rules (leading wikilink, skip inline-code, strip aliases) are clearly documented. Rule 1 example (`4. [[Write Goal Lifecycle Guide]] — grid mirroring [[Task Lifecycle Guide]]`) is well-chosen and clearly illustrates the distinction between task and cross-reference."
    },
    {
      "file": "commands/execute-goal.md",
      "line": 70,
      "severity": "minor",
      "message": "Nice to Have — same clarity as plan-goal.md. The wording 'references, not tasks' and 'ignore them' is unambiguous. Good fix."
    }
  ],
  "concerns_addressed": [
    "correctness: PR description states behavior was wrong in v0.101.0 but only documentation is changed — RAISED: cannot verify Go implementation matches documented rule, no Go code in diff",
    "correctness: Step 3 and step 7 extraction logic updated in docs — ACKNOWLEDGED: docs correctly reflect the leading-wikilink-only rule but behavioral implementation unverifiable from diff alone"
  ]
}

@bborbe bborbe merged commit c2719c6 into master Jul 12, 2026
1 check passed
@bborbe bborbe deleted the fix/goal-tasklink-extraction branch July 12, 2026 16:45
bborbe added a commit that referenced this pull request Jul 16, 2026
fix(command): plan-goal/execute-goal extract only leading # Tasks wikilink
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant