Skip to content

TRACKING: work plan from 2026-07-29 — run 2 against meta, and the block-2 judgement calls #25

Description

@mmcky

Work plan opened 2026-07-28, kept current since. Revised 2026-08-07 against main at 3dc9aeb, with every claim below re-checked rather than carried forward — the comment thread holds the running narrative, this body holds the state.

Blocks 1 and 3 are done. Block 4 — run 2 — is the front of the plan, and block 2 is the part nobody else can do. Program state is in #16; defects in #21.

Blocks are ordered by dependency, not by size. Block 3 before block 4 was the one ordering that mattered, and it has now been honoured.

Where this sits in the repo

Added 2026-08-07, because this plan is audit-shaped and had never said so. It grew out of the 2026-07-28 audit session: blocks 1 to 4 are all audit, and until this section the word "style" did not appear anywhere in it. The repo has three live threads, and they are independent — none blocks another.

Thread Plan State Waiting on
audit — validation program #12, program in #16 0.2.0 shipped; run 2 is block 4 above You: a token scope, a plugin update, ~40 min and a deliberate interrupt
benchmark — triage-first #4, rubric calls in #7 #33 open, CI green Kenko: #33 review, then the #10 checklist, then the ge_arrow follow-up. #7 is the one untouched thread
qe — the style surface #3 Entirely scaffold: 19 items, none landed Nothing, for items 1 and 3 — see below

The validation-program gate does not reach qe, and it is worth being exact about why. The "Explicitly not doing yet" section below holds the /audit:prs, /audit:tech-debt and /audit:translations skills back until the shared method is proven. That argument is scoped to the audit family — skills that would inherit audit/references/doctrine.md, which is what "the shared method" means. A qe style skill inherits none of it: different plugin, different references, a different upstream source of truth in style-guide, and different blockers. Run 2 could succeed or fail and would say nothing about whether the style preflight engine is sound.

So qe items 1 and 3 are unblocked today — the preflight engine and the umbrella skill body. Verified 2026-08-07: qe/scripts/ holds only fetch-copilot.sh and qe/references/rules/ only its README, so nothing has silently landed; and the upstream blockers that gate items 2, 4 and 5 have not moved — project-style-guide#6 since 2026-07-21, project-style-guide#2 since 2026-06-11.

Recorded so it can be questioned rather than inferred: style is the stated flagship, the largest recurring theme across the ~630 merged lecture PRs that justify the qe plugin at all. It currently has nineteen unlanded items beside three audit releases in a week. That is not a decision this plan made — it is where the sessions went. The only real coupling between the threads is maintainer attention, which is a scheduling fact and not a dependency, so none is asserted here.

Block 1 — merge what is waiting ✅

This block has refilled and re-emptied twice since it was written, which is why it is worth keeping rather than deleting: #26, #27, #28 and #29 landed the same day as its own contents, then #30, #31 and #32 on 2026-08-03, then #34 and #35 on 2026-08-07. Nothing is open in this repo as of the revision except #33, which belongs to the benchmark thread below.

Block 2 — the judgement only you can supply

Unchanged since this plan was written, and the only part of it that cannot be delegated.

  • Checks 9 and 10 on the run-1 bundle: does the tiering in 01-issue-triage-report.md match what .dev/PLAN.md actually says, and would you act on it? Both are still marked Maintainer's call — pending in the merged record (reviews/audit-run-action-translation-2026-07-28.md, lines 47–48), so it merged honestly as-is — append afterwards, or comment on TESTING: validation program for /audit:issues — run it before generalising the method #16.
  • Decide the bundle's fate. It is in ~/work/quantecon/action-translation/.dev/scratch/audit-2026-07-28/ — matched by that repo's .gitignore rule .dev/scratch/*, so it survives but cannot be committed where it sits, and .dev/audits/ still does not exist there. Options: move it to .dev/audits/2026-07-28-issues/ now (pre-empting the convention), or leave it pending QuantEcon/QuantEcon.manual#140 — still open, last updated 2026-08-02, so waiting remains available.
  • One finding in that bundle is still unactioned. feat(glossary): add Japanese (ja) translation glossary action-translation#69 has been open since June and re-creates a directory that Wave 1 deliberately deleted; still open, last updated 2026-08-01. Corrected 2026-08-07: this box originally named two findings. The other — the hold on Apply localisation rules on the sync path for newly-created files action-translation#225, measured in #227 to regress the path it touches (93.3% → 33.3%, p = 0.002) — needs nothing. That PR already carries two comments from you dated 2026-07-27, the do-not-merge hold and the confirmed regression, both of which predate the 2026-07-28 run, so the bundle's "unsent drafted comment" was already redundant when it was drafted. #225 is still open and untouched since 2026-07-27.

Block 3 — the two severity-1 defects (#21) ✅

Done — shipped as audit 0.2.0 in #34, merged 2026-08-07 (d4e8df8) and tagged audit--v0.2.0. They went in as the single doctrine-level PR this block proposed, on the grounds it gave: both concern whether an audit's own record can be trusted. #35 then brought the tutorial and CATALOG in line, since step 4 had been teaching the resume rule #34 replaced — in the very document used to test resume.

  • Defect 1 — [verified] citations are not checked for reachability. doctrine §2 required file:line, a merged PR, or a tag, but never that a cited commit be an ancestor of the ref the audit names. Run 1's headline finding cited a commit that exists only on an unmerged branch. Fixed, and broader than this box described: reachability is now required of every citation form, because file:line and PR citations are ref-relative too and fail the same way; phase 2 runs git merge-base --is-ancestor <sha> <ref> before tagging a commit. Copilot's review then found a third instance of the same class — §1 rule 1 still carrying its own copy of the accepted-forms list — fixed at the cause in 27a5db6 by deleting the duplicate rather than syncing it.
  • Defect 2 — the closed side is never checkpointed. findings.md held the 56 open issues; the 62 closed ones went straight to the catalog. Fixed: findings.md now carries ## Open and ## Closed, the resume rule partitions issues.json by state and resumes each side independently, and the skill says explicitly not to infer progress from a single block or from the file's length.

Block 4 — run 2, now unblocked

  • gh auth refresh -s read:project first. Re-checked 2026-08-07: still outstanding. The token has gist, read:org, repo, workflow, write:packages — no read:project, which was run 1's single conclusion-changing gap.
  • claude plugin update before starting. Added 2026-08-07. The installed audit@quantecon is still 0.1.4, and the plugin cache is keyed by version string, so a session that does not update executes the pre-fix procedure — the one without the reachability check, and with the half-covered checkpoint — while nothing in the output would reveal it. That would waste the most informative run in the matrix in the one way that is undetectable afterwards.
  • Run 2 against QuantEcon/meta (161 open / 319 items, ~39 min estimated). Per TESTING: validation program for /audit:issues — run it before generalising the method #16's matrix it is the sharpest test of what generalises: org-wide issues with no code to verify against, which directly stresses doctrine rule 1 and may reveal that [verified] means little for a decision record.
  • Interrupt it deliberately around 20–30 findings and restart (tutorial step 4, now updated to the post-audit: a citation must resolve on the ref the audit named, and both passes get checkpointed (0.2.0) #34 rule). Run 1 went straight through, so resumability — the claim this whole program exists to check — is still unvalidated. Interrupt during the closed pass if the chance comes: that half was not checkpointed at all before audit: a citation must resolve on the ref the audit named, and both passes get checkpointed (0.2.0) #34, so nothing has ever resumed from it.

Why block 3 came first, and what it bought. Run 2's headline purpose is testing resume, and defect 2 meant the checkpoint covered only half of phase 2. Testing a resume path against a checkpoint already known to be incomplete would have produced a failure that said nothing about resume logic and everything about a missing block. That is now fixed, so an interrupt tests the claim rather than a known hole.

Run 2 also produces the second data point that #23 (does the phase apparatus need to shrink?) is explicitly waiting on.

Parallel — no dependencies, any time

Explicitly not doing yet

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions