Skip to content

Bump skills-vendor pin: init-socraticode's #115 policy split is not yet vendored #41

Closed

Description

@gregoryfoster

skills-vendor/gregoryfoster-skills is pinned at 3fc7b71; upstream main is c3f40f7.

#35 brought this repo's ## Code Exploration Policy block onto the shape init-socraticode adopted in gregoryfoster/skills#115 (upstream commit 9125148) — Variant A in AGENTS.md, the full reference in docs/SOCRATICODE.md, and repo-authored content rescued into ## Code Exploration Notes (repo-specific) outside the marker pair. That saved 489 tokens on a section curating-context is contractually forbidden to touch.

The vendored skill does not know about any of it. Verified against the pin:

vendored 3fc7b71 upstream 9125148
mentions docs/SOCRATICODE.md 0 yes
tool-table rows in the block 8 3
step 1a (rescue repo-authored content) absent present

So an init-socraticode re-run today would:

  1. take the marker-pair branch and restore the pre-split eight-row block into AGENTS.md, reverting the saving and pushing the file back toward budget;
  2. never write or overwrite docs/SOCRATICODE.md, leaving it an orphan duplicating content that just came back inline.

## Code Exploration Notes (repo-specific) is safe either way — the old sweep targets only ## Code Exploration Policy, and the rescue heading is deliberately different.

Ask

Bump the submodule and re-run init-socraticode, reviewing its rescue report. Deliberately not bundled into #35: that PR is a documentation curation, and a pin bump pulls in #115 plus unrelated upstream work (#107 graph-yield gating, #141 self-budget gate, #144 batch clearance) that deserves its own review.

Noted in docs/SOCRATICODE.md's header so anyone re-running before the bump knows what they will get.

Raised as CR round-2 finding #8 on the #35 branch.

Activity

  1. added a commit that references this issue on Aug 15, 2026
  2. gregoryfoster commented on Aug 15, 2026

    @gregoryfoster
    ContributorAuthor

    Done in #43 (merged as 0257f3c).

    The pin bump came from #39's hook, not by hand — registering the SessionStart entry made the refresh hook fire on main, and its own auto-commit (36326c4) moved skills-vendor/gregoryfoster-skills 3fc7b71 → 2e1cf28. Upstream main had moved past the c3f40f7 quoted here; the bump is 153 commits. obra-superpowers came along to v6.3.0.

    Rescue report: nothing moved

    The destructive re-run predicted here does not materialize, and the reason is the one this issue identified as the safe case. #35 had already landed the marker pair, so Phase 3 takes the replace-between-markers branch — and ## Code Exploration Notes (repo-specific) sits outside that pair, so it was never inside the replaced span. The whole-span replace only exists on the unmarked branch.

    The re-run against the new skill also writes docs/SOCRATICODE.md rather than orphaning it, so both failure modes listed here are closed.

    What actually changed

    Artifact Change
    AGENTS.md policy block stays variant A (yield gate: ok); one line changed — the prefetch now names .claude/hooks/socraticode-reminder.sh. Block unchanged at 443 tokens, so #35's saving is intact
    docs/SOCRATICODE.md rewritten from the current template; the "requires a pin at or after #115" header this issue asked for is now satisfied and removed
    .claude/hooks/socraticode-reminder.sh new — inline echo moved to the org-standard script file, entry upgraded in place
    .claude/hooks/socraticode-health.sh new — the once-per-day infra check from #107
    docs/SKILLS.md the v1.2 hold recorded as ended; #22 and skills#100/#99 all closed

    The unrelated upstream work this issue flagged as deserving its own review — #107 graph-yield gating, #141 self-budget gate, #144 batch clearance — is reviewed in #43's description.

    Verification

    • preflight green; manifest 21 artifacts, every path resolves
    • graph yield ok — 172 edges across 73 files (2.36/file), so variant A is correct; 85.1% unresolved is logged as an advisory
    • settings.json merge idempotent — a second pass is byte-identical
    • 683 tests pass, 99.83% coverage, ruff clean, no dead links or anchors
    • context artifacts re-indexed after the doc edits, per this repo's own ## Code Exploration Notes rule — codebase_context_search returns the new docs/SKILLS.md text

    Filed upstream

    gregoryfoster/skills#177. mcp-driver.mjs guards dispatch on path.resolve(argv[1]) === fileURLToPath(import.meta.url), which never matches through a symlink — so invoked at the path SKILL.md documents (skills/init-socraticode/scripts/…, a managing-skills symlink) it exits 0 having printed nothing. Worse, socraticode-health.sh resolves that symlink ahead of the real skills-vendor/ path, so the health hook cannot report on any repo in the cohort — the never-measured green light #107 exists to prevent. Worked around here via SOCRATICODE_DRIVER; documented in docs/SOCRATICODE.md.

  3. gregoryfoster commented on Aug 16, 2026

    @gregoryfoster
    ContributorAuthor

    Follow-up: two code-review rounds after the close corrected three things in the re-run's output.

    • The #177 workaround was machine-local. SOCRATICODE_DRIVER sat only in gitignored .claude/settings.local.json, so every other checkout shipped a health hook that resolved the broken skills/ symlink and reported clean without measuring anything. The value is a repo-relative path, so it moved to the committed .claude/settings.json env block — verified reaching spawned processes, with the hook now reporting from committed config alone (docs+test: apply CR round-1 findings (#1-#8) #45).
    • Repo-authored prose had been added to a generated file. The #177 note went into docs/SOCRATICODE.md, six lines under its own "a re-run overwrites this file wholesale" header — this issue's own concern, one level down. Moved to AGENTS.md → ## Code Exploration Notes (repo-specific), which survives a re-run. The write guard caught the first draft 68 tokens over budget, so the detail went to docs/SKILLS.md and only the rule stayed inline (docs+test: apply CR round-1 findings (#1-#8) #45).
    • A re-run still reverts three things, including restoring node skills/init-socraticode/scripts/mcp-driver.mjs — the invocation that exits 0 printing nothing. docs/SKILLS.md now carries an after-a-re-run checklist; two of the three items fail a test, and the checklist covers the one that cannot (docs+test: apply CR round-2 findings (#9, #11, #12) #46).

    Also filed upstream from this work: skills#177 (driver no-ops through the vendoring symlink, and the health hook resolves that symlink first), skills#179 (copy-vs-symlink contradiction), skills#180 (health hook measures ., so a worktree session reports a healthy index as broken).

    Shipped: c5698e9, 86ceda6, b393590, c29cbe6 (PRs #43, #45, #46). Context artifacts re-indexed after every doc change, per this repo's own rule.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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