Skip to content

Add REMAINING_WORK.md for whoever picks this up next - #4

Merged
yash161004 merged 1 commit into
masterfrom
docs/remaining-work
Jul 29, 2026
Merged

yash161004 merged 1 commit into
masterfrom
docs/remaining-work

Conversation

@yash161004

Copy link
Copy Markdown
Owner

Handover doc for a fresh agent (Antigravity, OpenCode, or a new session) covering what is left across all three repos.

Contents

  • §0 — published-vs-repo state for each package, with a re-verify command so nobody trusts a stale doc
  • §1 — the one blocker: mcplock 0.1.1 tagged but unpublished, with the exact OIDC claims, what has already been ruled out, and three ways forward
  • §2 — tag fixtura v2.0.0, and why it must not happen before §1
  • §3 — mcplock Phase 6: disclosure decision, the unbuilt PR-comment step, pre-publish checklist, stale test count
  • §4 — optional follow-ups
  • §5 — hard constraints that are easy to violate by accident
  • §6 — recommended order

Why this is worth committing

The critical path is a genuine correctness hazard, and it is not obvious from the code: mcplock 0.1.0 is published with fixtura>=1.0.7 unbounded, so tagging fixtura 2.0.0 breaks every existing installation. 0.1.1 carries the cap that prevents this and is not published, so the cap currently protects nobody. Anyone picking this up without that context could reasonably tag fixtura 2.0.0 and cause the exact breakage the last several PRs existed to avoid.

It also records constraints an agent would otherwise have to rediscover:

  • disclosures are owner-only, and none of F-001..F-006 are upstream-verified
  • the sdist leak guard must not be weakened — it exists because the sdist previously did carry undisclosed findings
  • openeval is not openeval-core
  • pip install --dry-run proves resolution, not importability — the mistake that hid the original fixtura/OpenEval breakage entirely

Docs only. No code, packaging, or version changes.

🤖 Generated with Claude Code

Records what is left across mcplock, fixtura and OpenEval, with the current
published-vs-repo state for each so a fresh agent verifies rather than assumes.

The critical path is one blocker: mcplock 0.1.1 is tagged but unpublished
because the PyPI trusted publisher does not match the OIDC claims. Until it
ships, the fixtura>=1.1.1,<2 cap it carries protects nobody, and fixtura 2.0.0
cannot be tagged without breaking everyone on mcplock 0.1.0.

Also records the constraints that are easy to violate by accident: disclosures
are owner-only and none of F-001..F-006 are upstream-verified; the sdist leak
guard must not be weakened; `openeval` is not `openeval-core`; and
`pip install --dry-run` proves resolution rather than importability, which is
the mistake that hid the original fixtura/OpenEval breakage.

Co-Authored-By: Claude Opus 5 <[email protected]>
@yash161004
yash161004 merged commit 7a39fb9 into master Jul 29, 2026
@yash161004
yash161004 deleted the docs/remaining-work branch July 29, 2026 05:01
yash161004 added a commit that referenced this pull request Jul 29, 2026
PR #4 added REMAINING_WORK.md while I was adding TASKS.md, leaving two competing
task documents that disagreed. REMAINING_WORK.md wins: it is broader, covering
fixtura and OpenEval as well as mcplock. TASKS.md is deleted and its unique
content folded in.

Its section 3.1 was stale in a way that mattered -- it said the findings were
unverified and whether to disclose was undecided. Both were resolved on
2026-07-29: all six were verified against upstream source, only F-001 was real,
and it is fixed by PR modelcontextprotocol/servers#4569. Two of the other five
were mcplock's own false positives, both since fixed, taking the sweep from 10
scope findings to 2 with none false. Left as written, a fresh agent would have
redone finished verification work and possibly sent findings that were retracted.

Adds the three missing Phase 6 items -- running the Action in a real external
repo, the writeup, and registry investigation -- with the real numbers the
writeup should use, and the note that the honest framing is that most candidates
did not survive verification.

Also corrects paths from docs/ to .private/ and the test count to 145.

Co-Authored-By: Claude Opus 5 <[email protected]>
yash161004 added a commit that referenced this pull request Jul 29, 2026
Records what is left across mcplock, fixtura and OpenEval, with the current
published-vs-repo state for each so a fresh agent verifies rather than assumes.

The critical path is one blocker: mcplock 0.1.1 is tagged but unpublished
because the PyPI trusted publisher does not match the OIDC claims. Until it
ships, the fixtura>=1.1.1,<2 cap it carries protects nobody, and fixtura 2.0.0
cannot be tagged without breaking everyone on mcplock 0.1.0.

Also records the constraints that are easy to violate by accident: disclosures
are owner-only and none of F-001..F-006 are upstream-verified; the sdist leak
guard must not be weakened; `openeval` is not `openeval-core`; and
`pip install --dry-run` proves resolution rather than importability, which is
the mistake that hid the original fixtura/OpenEval breakage.
yash161004 added a commit that referenced this pull request Jul 29, 2026
PR #4 added REMAINING_WORK.md while I was adding TASKS.md, leaving two competing
task documents that disagreed. REMAINING_WORK.md wins: it is broader, covering
fixtura and OpenEval as well as mcplock. TASKS.md is deleted and its unique
content folded in.

Its section 3.1 was stale in a way that mattered -- it said the findings were
unverified and whether to disclose was undecided. Both were resolved on
2026-07-29: all six were verified against upstream source, only F-001 was real,
and it is fixed by PR modelcontextprotocol/servers#4569. Two of the other five
were mcplock's own false positives, both since fixed, taking the sweep from 10
scope findings to 2 with none false. Left as written, a fresh agent would have
redone finished verification work and possibly sent findings that were retracted.

Adds the three missing Phase 6 items -- running the Action in a real external
repo, the writeup, and registry investigation -- with the real numbers the
writeup should use, and the note that the honest framing is that most candidates
did not survive verification.

Also corrects paths from docs/ to .private/ and the test count to 145.
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