Skip to content

feat(st4): contributor funnel + foreign-harness inspect adapter + 0.8.0 release cut - #33

Merged
SollanSystems merged 10 commits into
mainfrom
feat/v0.8.0-st4-funnel
Jul 10, 2026
Merged

SollanSystems merged 10 commits into
mainfrom
feat/v0.8.0-st4-funnel

Conversation

@SollanSystems

Copy link
Copy Markdown
Owner

feat(st4): contributor funnel + foreign-harness inspect adapter + 0.8.0 release cut

Second half of v0.8.0 "composes-the-field" (spec: docs/superpowers/specs/2026-07-08-v0.8.0-composes-the-field-design.md; plan: docs/superpowers/plans/2026-07-08-v0.8.0-composes-the-field.md). PR-A (ST3 adapters + recipes) merged as #32.

Deliverables

  1. Foreign-harness inspect adapterloop/foreign.py, a read-only layout mapper that lets loop inspect recognize a Superpowers-style run dir via the existing LoopPaths seam. The M2/M3-hardened scorer is untouched; a foreign harness with no gate and no terminal record scores honestly low (no-invoked-credit regression test binds). Vendored, sanitized fixture at examples/superpowers-run/.
  2. Gap reportdocs/gap-reports/superpowers.md: the §14 conformance checklist read against the vendored fixture; every claim fixture-checkable; complement-not-attack framing.
  3. 2nd runnable exampleexamples/flaky-test-triage/: doctor-clean, gate-backed, the showcase for repair records — loop metrics derives a non-null repair-productivity of 1.0 from its anchored red→green repair (FCR 0.0).
  4. Contributor funnel — seven gate-backed issue drafts under docs/contributing/issues/ (3 good first issue + 4 help wanted, filed live at merge) + CONTRIBUTING start-here section.
  5. Release cut 0.8.0 — version bumps, CHANGELOG, README pins; release commit is the last commit of the branch.

Acceptance criteria (spec §5, PR-B items)

  • §5.4 — python3 -m loop inspect <foreign-dir> produces a scored report against the vendored fixture; gap report checked in; 2nd example passes doctor
  • §5.5 — ≥4 labeled issues live on GitHub at merge, each naming its proving gate; CONTRIBUTING links the funnel (filed post-merge, this PR carries the drafts)
  • §5.6 — suite gates green: full pytest (jsonschema + structural lanes), fresh-checkout simulation, self_eval.py, validate_frontmatter.py, py_compile; CI green incl. both recipe jobs
  • §5.7 — 0.8.0 release commit is the last commit of PR-B; test_docs_version pins it

Test plan

  • Full suite: uv run --with pytest --with pyyaml --with jsonschema python -B -m pytest -q -p no:cacheprovider scripts
  • Gates: validate_frontmatter.py (9/9), self_eval.py (13/13), py_compile, loop doctor examples/flaky-test-triage, loop inspect examples/coverage-repair (90/strong unchanged)
  • Live evidence: loop metrics examples/flaky-test-triage → FCR 0.0, RP 1.0, no unrecognized outcomes; loop inspect examples/superpowers-run matches the gap report §4 JSON
  • Fresh-checkout simulation (git archive → pytest) — proves no test depends on untracked state
  • Whole-branch review (4 lenses + adversarial verification) run pre-release-cut; fix round applied

Notes for reviewers

  • The whole-branch review adjudicated: wikilinks in the example's manifest.yaml/WORKFLOW.md follow the flagship-example precedent; example scripts are invoked as bash <script> so 100644 mode is fine.
  • Open human gates after merge: PyPI pending-publisher registration; tag v0.7.0 @ 4647820 and v0.8.0 @ the release commit.

…loud guard

Whole-branch review (Important, confirmed): README said 'no installs' but
run-example shells the real gate whose probes need pytest; on stdlib-only
python3 it died silently (set -e, exit 1, zero output) after clobbering the
tracked verdict fixture. README now names the pytest requirement; the script
checks for pytest up front and prints the uv one-liner before touching
anything.
Copilot AI review requested due to automatic review settings July 10, 2026 00:32

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@SollanSystems
SollanSystems merged commit 6b16576 into main Jul 10, 2026
7 checks passed
@SollanSystems
SollanSystems deleted the feat/v0.8.0-st4-funnel branch July 10, 2026 00:34

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9bc198d6fc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread loop/foreign.py
Comment on lines +44 to +45
if _newest_md(ws / _SPECS_DIR) or _newest_md(ws / _PLANS_DIR):
return "superpowers"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Require a run marker before mapping Superpowers docs

When a non-foreign project contains docs/superpowers/specs or docs/superpowers/plans for its own documentation but has not emitted .loop/state.json (the repo root here is such a case), this condition maps the whole workspace as a Superpowers run. I checked python3 -m loop inspect . in this checkout: it now reports foreign_layout: "superpowers" and an ok-level score by combining those docs with the repo's normal scripts, instead of reporting the missing native contract. Please require a stronger foreign-run marker, such as the .superpowers/sdd journal plus a matching spec/plan, before returning superpowers.

Useful? React with 👍 / 👎.

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