Skip to content

workplan: conform to the status-projects tracker contract (0.8.0), and catch the docs up - #62

Merged
mmcky merged 4 commits into
mainfrom
workplan-tracker-contract
Aug 26, 2026
Merged

workplan: conform to the status-projects tracker contract (0.8.0), and catch the docs up#62
mmcky merged 4 commits into
mainfrom
workplan-tracker-contract

Conversation

@mmcky

@mmcky mmcky commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Two halves, both catching this repo up to things that landed elsewhere and never propagated here.

1. The work-plan skills meet the tracker contract (qe 0.8.0)

Since 2026-08-24 the projects dashboard parses every registered project tracker nightly and publishes a per-tracker compliance block. That makes the workplan-* family a producer for a machine consumer, and the two ends were not pointing at the same thing. The rules are stated once, upstream, in docs/contracts/tracker.md (C2) — the skills link to it rather than restate it, per the single-source-of-truth principle. This is item 2 of #49.

The stamp was the real defect. Both skills stamped their revisions already, carefully, with time and timezone — but in prose the collector cannot read. The contract wants an H2/H3 whose text is exactly Where we stand, with verified plus a mandatory ISO date in the parentheses and nothing else. So a plan revised faithfully every session still published as unstamped. create now writes that heading, resume and update re-date it, read reports its age and says when it is absent or malformed, and anchor-and-sweep reads the date from the stamp alone — a verified in a table cell or a checklist item is not a stamp, and taking one as the anchor silently mis-scopes the sweep.

"Plan issues stay untyped" is retired, and not because the rule was wrong. It was waiting on the QEP-2 field report at QuantEcon/qeps#11, and that field report's answer turned out not to be a label at all: Project is a native org-level issue type, enabled 2026-08-24, so it filters as type:Project org-wide and leaves QEP-2's label set untouched. Long-lived trackers now carry it; period plans stay untyped, because a session's working document is not a project. That genre split is the one design call in this PR worth arguing with — the alternative is typing every weekly plan Project and putting them all on the dashboard.

Registration is named as the missing step. A conformant tracker is still invisible until a row exists in projects.yml. Both skills now say so and offer to draft the row; opening the pull request against QuantEcon/status-projects stays the user's move. Automating that end to end is #49 item 1 and is deliberately not here.

Not in this release, and tracked rather than hand-waved: the qe:tracker-conform skill that C2 §5 already names as the fix half of its compliance block (#49 item 3), and the wp{issue#}-stage{n} milestone convention (#55).

2. Repo-level docs catch up to audit run 2

The run-2 record merged in #56 and nothing downstream moved. CATALOG, using-skills and the audit tutorial all still said the method had been run once and that resumability was untested — the opposite of what run 2 established. They now carry two runs, what run 2 settled (resume at the predicted issue with no re-walk or duplicate; read-only measured by a before/after tracker fingerprint rather than asserted) and what it did not (#57's closed-pass granularity, the unexercised truncation guard, #61's working-directory gap).

The audit tutorial also stopped telling you to install a plugin that has not existed since 0.7.0. It now carries run 2's cost data point, tells you to write your resume prediction down before resuming, to fingerprint rather than eyeball the read-only boundary, and to check git check-ignore before taking the .audit/ fallback — that fallback is how run 2 left 2.4 MB of findings, including token material, untracked in a public checkout.

developing-skills had leftover multi-plugin language: a layout tree advertising a <plugin>/README.md that qe does not have and hiding the family subdivision under scripts/ and references/, plus "three independently-versioned plugins" in the tags section.

Checks

python scripts/validate.py and python scripts/check-version-bump.py both pass; the guard reports qe — 0.7.0 → 0.8.0. Every relative link resolves.

🤖 Generated with Claude Code

mmcky and others added 2 commits August 26, 2026 11:40
Run 2 (QuantEcon/meta, 2026-08-25) merged as a record and nothing downstream
moved, so CATALOG, using-skills and the audit tutorial still said the method
had been run once and that resumability was untested — the opposite of what
run 2 established.

- CATALOG, using-skills: two runs, what run 2 settled (resume at the predicted
  issue, read-only measured by fingerprint) and what it did not (#57 closed-pass
  granularity, the unexercised truncation guard, #61's working-directory gap).
- The audit tutorial no longer tells you to install a plugin that has not
  existed since 0.7.0; it carries run 2's cost data point, tells you to write
  your resume prediction down first, to fingerprint rather than eyeball the
  read-only boundary, and to check git check-ignore before taking the .audit/
  fallback — run 2 left token material untracked in a public checkout that way.
- developing-skills: the layout tree advertised a plugin README qe does not
  have and hid the family subdivision under scripts/ and references/; the tags
  and PR-flow sections still spoke of three plugins.
- CATALOG lists /qe:workplan for the verbs that have actually run.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The projects dashboard has parsed every registered project tracker nightly
since 2026-08-24, so a tracker these skills produce now has a machine reader
as well as the next session. The rules live once, upstream, in C2
(status-projects docs/contracts/tracker.md); the skills link to it rather than
restate it. See #49 item 2.

- The revision stamp becomes "## Where we stand (verified YYYY-MM-DD)". Both
  skills stamped before this; they stamped in prose the collector cannot read,
  so a plan revised faithfully every session still published as unstamped.
  create writes it, resume/update re-date it, read reports its age, and
  anchor-and-sweep reads the date from the stamp alone.
- Long-lived trackers carry the native Project issue type, replacing the
  "stay untyped pending the QEP-2 field report" bullet — that field report is
  qeps#11 and its answer was not a label, so QEP-2's set is untouched.
  Period plans stay untyped: a session's working document is not a project.
- workplan-project states why the work goes in native sub-issues: checkbox
  progress publishes as null, not as a percentage.
- Both skills now say a conformant tracker is still invisible until it is
  registered, and offer to draft the projects.yml row. Opening that PR stays
  the user's move; automating it is #49 item 1 and is not in this release.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 26, 2026 01:40

Copilot AI 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.

Pull request overview

Aligns the qe plugin’s work-plan skills and repo documentation with (a) the upstream status-projects tracker contract introduced on 2026-08-24 and (b) findings/validation outcomes from audit run 2, while releasing these updates as qe v0.8.0.

Changes:

  • Updates workplan/workplan-project guidance to conform with the status-projects tracker contract (stamp heading form, Project issue type, sub-issues-as-progress, registration note).
  • Refreshes repo-level docs (CATALOG, using-skills, audit tutorial, developing-skills, AGENTS) to reflect audit run 2 and post-0.7.0 consolidation reality.
  • Bumps qe plugin version to 0.8.0 and records the release in the plugin changelog.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
qe/skills/workplan/SKILL.md Adds tracker-contract guidance and updates lifecycle verb expectations/behavior descriptions around the status stamp and Project typing.
qe/skills/workplan-project/SKILL.md Updates project work-package drafting/filing instructions to match tracker contract expectations (stamp heading, sub-issues, Project type, registration note).
qe/CHANGELOG.md Introduces the 0.8.0 release entry describing contract-alignment changes and known gaps.
qe/.claude-plugin/plugin.json Bumps the plugin version to 0.8.0.
.claude-plugin/marketplace.json Updates marketplace metadata to reference qe 0.8.0.
docs/using-skills.md Updates skill status table to reflect observed validations and audit run 2 outcomes.
docs/tutorial-run-an-audit.md Updates the audit tutorial to incorporate run 2 learnings (resume validation, read-only measurement, working directory hazards).
docs/developing-skills.md Refreshes repo layout and tagging guidance for the single-plugin reality since 0.7.0.
CATALOG.md Updates catalog entries for workplan and audit families to reflect validation state and run 2 outcomes.
AGENTS.md Updates canonical-doc mapping and tracking-issue descriptions (including reviews/ as validation run records).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread qe/skills/workplan/SKILL.md Outdated
Comment thread qe/skills/workplan-project/SKILL.md Outdated
Comment thread docs/tutorial-run-an-audit.md Outdated
mmcky and others added 2 commits August 26, 2026 12:59
…erences

Three comments on #62, all valid.

- workplan/SKILL.md re-specified C2's parser grammar (H2/H3, allowed
  parenthetical contents, trailing whitespace) under a heading that says the
  contract is stated once upstream. Trimmed to the two example forms plus the
  one authoring rule, with C2 named as the authority where they differ. The
  example stays inline deliberately: status-projects is private, so a bare
  pointer would leave a consumer unable to write the heading at all. The
  section now says so, and notes it re-points at the public QEP when R6's
  lands.
- workplan-project/SKILL.md said "see the note below" for a bullet titled
  "The tracker contract"; named it.
- The audit tutorial told you to check git check-ignore and read its output.
  Verified: on a non-ignored path both the plain and -v forms print nothing
  and exit 1, so -v alone does not disambiguate — only the exit code does.
  Now uses -v (matching step 1's existing command) and reads the exit code.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
"The interface half becomes a public QEP" reads as though part of C2 is
leaving status-projects. It is not: status-projects design.md R6 has the
QEP "written from the collector's evidence" and "that C2 cites", so the QEP
sits above C2 and C2 keeps everything it has. The phrasing misled a reader
in review, which is evidence enough to change it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mmcky
mmcky merged commit daa27f2 into main Aug 26, 2026
5 checks passed
@mmcky
mmcky deleted the workplan-tracker-contract branch August 26, 2026 03:18
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.

2 participants