Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"name": "superloopy",
"source": "./",
"description": "Strict evidence loop harness: repo-local loop state, success criteria, append-only ledgers, evidence-gated completion, plus skills (loop, research, frontend, clone) and a read-only/worker crew. Works on Claude Code and Codex from one repo.",
"version": "0.12.4",
"version": "0.13.0",
"license": "MIT",
"keywords": [
"claude-code",
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "superloopy",
"version": "0.12.4",
"version": "0.13.0",
"description": "Lightweight loop harness with strict evidence gates — Claude Code edition.",
"homepage": "https://github.com/beefiker/superloopy#readme",
"repository": "https://github.com/beefiker/superloopy",
Expand Down
2 changes: 1 addition & 1 deletion .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "superloopy",
"version": "0.12.4",
"version": "0.13.0",
"description": "Lightweight loop harness with strict evidence gates.",
"homepage": "https://github.com/beefiker/superloopy#readme",
"repository": "https://github.com/beefiker/superloopy",
Expand Down
1 change: 1 addition & 0 deletions docs/superloopy-design-audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ This doctor-verified audit records Superloopy's own design decisions. It exists
| `gate-shape-compatibility` | Existing users may have strict review or matrix gate JSON, while broad UI work needs proof proportional to a concrete target, affected owner, and changed claim. | Superloopy keeps both gate shapes and their exact unscoped legacy surface literals accepted through local validators. New scoped rows provide all four of `target`, `owner`, `claims`, and `scopeReason`; `target` is a singular portable `{id, platform, environment}` object whose slug rejects aggregate vague tokens. Owner/claim floors select compatible proof, composite surfaces retain attributable owners, and each scoped surface target-ID/platform/owner slice is singular with resolved artifacts independent from other surface slices. Adversarial and matrix coverage rows reference artifacts or contract-bound proof rows without declaring another slice. Matrix coverage binds a surface or adversarial row with the same `contractRef`; HTTP/data artifacts remain confined to their families. | `src/review-gate.js`, `src/matrix-gate.js`, `docs/superloopy-gate-notes.md`, `test/golden-review-gate.test.js`, `test/golden-matrix-gate.test.js`, and `src/artifacts.js`. |
| `actor-field-policy` | Exact external role literals made compatibility too specific. | Actor fields now require non-empty identity text instead of a hard-coded role name. | `src/review-gate.js` and review-gate golden tests. |
| `native-naming` | Public code, docs, and tests should describe Superloopy behavior directly. | Modules, tests, docs, CLI flags, and metadata use Superloopy-owned terms. | `test/docs.test.js` and `docs/superloopy-gate-notes.md`. |
| `workspace-safety-continuity` | Long-running loops must resume in the correct checkout, survive host compaction, expose their injected-context cost, and avoid repeating retried steering without turning research targets into user friction. | Plan v2 binds to a canonical local worktree; legacy binding is explicit and confined; hook context carries exact character/byte plus estimated-token cost; structured steering stores bounded receipts; compact SessionStart rebuilds mandatory state from the plan; research profiles report advisory target/observed usage and never block or request expansion approval. Generic batches, search brokering, and export anonymization remain deferred. | `src/workspace-identity.js`, `src/repository-binding.js`, `src/steering-receipts.js`, `src/context-cost.js`, `src/compaction-recovery.js`, `skills/superloopy-research/SKILL.md`, `test/workspace-identity.test.js`, `test/steering-idempotency.test.js`, `test/context-cost.test.js`, and `test/compaction-recovery.test.js`. |
| `recorded-thresholds` | Later analysis should compare against earlier judgments. | `docs/superloopy-loop-golden-set.md` stores score history and command evidence in one tracked place. | `docs/superloopy-loop-golden-set.md` and `test/docs.test.js`. |
| `model-policy` | Crew lanes need explicit cost/depth pins, legacy upgrades must not overwrite user edits, and hosts may not attest the model they actually launch. | `model-policy.json` defines ordered complete model/effort/tier tuples. Managed installation resolves them before launch, adopts only complete hash-known legacy fleets, detects wrapper/plugin split-brain, and reports `model_unverified` unless the host attests role and model. Availability failure never causes a post-launch retry or model switch. | `legacy-agent-manifests.json`, `src/legacy-agents.js`, `src/model-resolution.js`, `src/managed-agents.js`, `src/installed-model-policy.js`, `src/wrapper-check.js`, `test/model-install.test.js`, `test/installed-model-policy.test.js`, and `test/wrapper-check.test.js`. |
| `crew-lines` | Crew handoffs should feel alive without weakening evidence discipline. | Known crew lanes can emit original terminal-state lines in presentation output only; persisted state and gate authority stay mechanical. | `docs/superloopy-crew-lines.md`, `src/crew-lines.js`, `test/crew-lines.test.js`, and `test/fleet.test.js`. |
Expand Down
14 changes: 13 additions & 1 deletion docs/superloopy-file-audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Superloopy is its own lightweight loop harness: one small CLI, repo-local `.supe
| `.github/assets/usopp.png` | README crew-card image for the usopp QA agent. | Documentation image only; no executable plugin logic. |
| `.github/assets/zoro.png` | README crew-card image for the zoro reviewer agent. | Documentation image only; no executable plugin logic. |
| `.github/workflows/test.yml` | GitHub Actions workflow that runs the `node --test` suite on an OS (ubuntu/windows/macos) × Node (20/22) matrix for every push and PR. | Uses SHA-pinned Actions and Node's own test discovery (no shell glob) so the same suite runs identically on every platform; read-only, no runtime plugin logic. |
| `.gitignore` | Keeps runtime state, logs, coverage, dependencies, root `build/`, Superpowers plan/spec docs, and generated Astro build output out of source control. | Superloopy runtime ignore set plus root builds, local Superpowers planning artifacts, and web build artifacts. |
| `.gitignore` | Keeps runtime state, logs, coverage, dependencies, root `build/`, untracked local Superpowers plan/spec drafts, and generated Astro build output out of source control. | Superloopy runtime ignore set plus root builds, local planning drafts, and web build artifacts; explicitly approved design/plan records may be force-tracked and audited. |
| `DESIGN.md` | Static landing-page design token contract: reference-inspired editorial colors, typography, spacing, component states, motion, and depth for the Superloopy web preview. | Web presentation design contract only; no plugin runtime behavior and no vendored external design system. |
| `LICENSE` | MIT license for this repo. | Standard license text. |
| `README.es.md` | Spanish public product overview and managed Codex model-lifecycle summary. | Documentation-only locale surface; mirrors the root install and routing behavior without adding runtime logic. |
Expand Down Expand Up @@ -150,6 +150,18 @@ Superloopy is its own lightweight loop harness: one small CLI, repo-local `.supe
| `web-superloopy/public/_nuxt/ty4JC5yh.js` | Vendored deferred orbit-runtime chunk that boots the hero orbit iframe scene. | Web presentation payload for the vendored orbit runtime only; no executable plugin logic and no package dependency. |
| `web-superloopy/public/_nuxt/w4_qzAi3.js` | Vendored deferred orbit-runtime chunk that boots the hero orbit iframe scene. | Web presentation payload for the vendored orbit runtime only; no executable plugin logic and no package dependency. |
| `web-superloopy/public/_payload.json` | Vendored orbit-runtime hydration payload consumed by the hero orbit iframe. | Web presentation payload only; no executable plugin logic. |
| `docs/superpowers/plans/2026-07-24-workspace-safety-continuity.md` | Approved implementation plan for repository binding, context metering, idempotent steering, compaction recovery, advisory research targets, and the 0.13.0 release. | Tracked planning record for this release only; adds no runtime dependency or external workflow authority. |
| `docs/superpowers/specs/2026-07-24-workspace-context-steering-compaction-design.md` | Approved product and runtime design for safe workspace continuity without budget blocking. | Original Superloopy design record; explicitly defers generic batches, search brokering, and export anonymization. |
| `src/compaction-recovery.js` | Pure durable-state projection and bounded renderer for post-compaction loop recovery. | Uses Superloopy plan/guide/fleet facts only; never trusts transcript completion prose or mutates state. |
| `src/context-cost.js` | Dependency-free Unicode, UTF-8 byte, and estimated-token meter for emitted additional context. | Labels token values as estimates and does not claim host-wide context measurement. |
| `src/repository-binding.js` | Repository-binding inspection and explicit confined legacy-plan migration. | Uses local checkout identity and atomic Superloopy state; no network or remote-name authority. |
| `src/steering-receipts.js` | Bounded request-key and receipt helpers for retry-safe structured steering. | Superloopy-local idempotency only; does not add a generic batch protocol. |
| `src/workspace-identity.js` | Canonical worktree root and checkout fingerprint shared by plan binding and command trust. | Uses built-in filesystem/crypto APIs and a local Git-dir UUID; branch and remote names are not authority. |
| `test/compaction-recovery.test.js` | Six semantic regressions for durable, bounded, isolated, read-only pressure-safe recovery. | Tests Superloopy state meaning rather than brittle prompt line counts. |
| `test/context-cost.test.js` | Unicode/byte/estimate and empty-output coverage for additional-context metering. | Validates the documented heuristic boundary without a tokenizer dependency. |
| `test/repository-binding.test.js` | Plan v2, child-directory reuse, copied-state refusal, and confined legacy-binding integration coverage. | Uses disposable local state and CLI processes only; no remote identity authority. |
| `test/steering-idempotency.test.js` | Regression proving a retried structured directive mutates a plan once. | Uses local hook and plan state only. |
| `test/workspace-identity.test.js` | Git, non-Git, child-directory, and distinct-checkout identity coverage. | Creates disposable local repositories and performs no network operations. |
| `web-superloopy/public/basis/basis_transcoder.js` | Basis/KTX2 texture transcoder used by the vendored orbit runtime and eye scene. | Web presentation decoder asset only; no plugin runtime behavior. |
| `web-superloopy/public/basis/basis_transcoder.wasm` | Basis/KTX2 texture transcoder used by the vendored orbit runtime and eye scene. | Web presentation decoder asset only; no plugin runtime behavior. |
| `web-superloopy/public/draco/draco_decoder.wasm` | Draco geometry decoder used by the landing WebGL model loaders. | Web presentation decoder asset only; no plugin runtime behavior. |
Expand Down
5 changes: 5 additions & 0 deletions docs/superloopy-host-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,11 @@ inert on Claude. As with every hook, completion authority never rests here — i
deterministic in-process floor (`loop check`/`review`/`finish`); the hook layer is advisory on both
hosts.

Research worker/query/wave profiles are also advisory on every host. Codex can expose local
`Agent` dispatches to `PreToolUse`, but Superloopy intentionally does not deny dispatch based on a
usage target. Hosted searches are not universally observable by hooks, so query totals may be
journal-derived or `unknown`; they are never presented as enforced limits.

## What Superloopy cannot verify (advisory limits)

Superloopy cannot confirm, from inside a hook, that the host:
Expand Down
10 changes: 5 additions & 5 deletions docs/superloopy-loop-golden-set.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,11 @@ Total: 100 points.
| `.github/assets/usopp.png` | Audit coverage. | Must remain a README documentation image, not runtime plugin logic. |
| `.github/assets/zoro.png` | Audit coverage. | Must remain a README documentation image, not runtime plugin logic. |
| `.github/workflows/test.yml` | Cross-platform test CI and GitHub Actions. | Must run `node --test` (no shell glob) across the ubuntu/windows/macos × Node 20/22 matrix with SHA-pinned actions and no runtime side effects. |
| `.gitignore` | Doctor runtime-boundary ignored samples and installed-cache docs coverage. | `.superloopy/`, logs, coverage, dependencies, OS noise, Codex marketplace metadata, `build/`, `docs/superpowers/plans/`, `docs/superpowers/specs/`, and generated Astro output must stay out of source control. |
| `.gitignore` | Doctor runtime-boundary ignored samples and installed-cache docs coverage. | `.superloopy/`, logs, coverage, dependencies, OS noise, Codex marketplace metadata, `build/`, unapproved `docs/superpowers/plans/` and `docs/superpowers/specs/` drafts, and generated Astro output stay ignored; explicitly approved plan/spec records may be tracked when audited here. |
| `DESIGN.md` | Static landing-page design token contract. | Must keep the web preview's reference-inspired colors, typography, spacing, component states, motion, and depth explicit before UI edits. |
| `LICENSE` | Audit coverage and reviewability check. | Must remain a source file with no runtime implementation content. |
| `README.es.md` | `test/docs.test.js`, audit coverage. | Must provide the Spanish locale and align managed Codex materialization, compatibility, caching, and restart behavior with the root README. |
| `README.ja.md` | `test/docs.test.js`, audit coverage. | Must provide the Japanese locale and align managed Codex materialization, compatibility, caching, and restart behavior with the root README. |
| `README.ko.md` | `test/docs.test.js`, audit coverage. | Must provide native Korean lifecycle wording while preserving exact model names, flags, paths, numbers, and commands. |
| `README.es.md`, `README.ja.md`, `README.ko.md`, `README.zh-CN.md` | `test/docs.test.js`, audit coverage. | Must align localized managed-Codex materialization, compatibility, caching, and restart behavior with the root README while preserving exact technical tokens and native wording. |
| `README.md` | `test/docs.test.js` public-doc assertions. | Must describe both hosts plus Codex install-time model resolution, 24-hour reuse, explicit GPT-5.5 compatibility, conservative unknown handling, restart rules, no post-launch switch, and read-only doctor refresh. |
| `README.zh-CN.md` | `test/docs.test.js`, audit coverage. | Must provide the Simplified Chinese locale and align managed Codex materialization, compatibility, caching, and restart behavior with the root README. |
| `SECURITY.md` | Hashgraph catalog readiness. | Must document vulnerability reporting without publishing exploit details or secrets. |
| `agents/franky.md` | Audit coverage. | Must define the Claude bounded executor subagent and the SUPERLOOPY_EVIDENCE receipt. |
| `agents/jinbe.md` | Audit coverage. | Must define the Claude final gate-review subagent and the SUPERLOOPY_EVIDENCE receipt. |
Expand All @@ -83,6 +80,7 @@ Total: 100 points.
| `docs/superloopy-loop-golden-set.md` | `test/docs.test.js` golden-set assertions. | Must list every Git-visible file, score each accepted run, and keep threshold history append-only. |
| `docs/superloopy-model-policy-claude.md` | `test/docs.test.js` model-policy assertions, audit coverage. | Must record the Claude model aliases and the advisory steering-not-proof rule mapped from the Codex policy. |
| `docs/superloopy-model-policy.md` | `test/docs.test.js`, `test/doctor.test.js`. | Must record ordered complete Codex tuples, preferred Terra/Sol/Luna pins, explicit GPT-5.5 compatibility, and pre-launch-only routing while treating model choice as steering, not proof. |
| `docs/superpowers/plans/2026-07-24-workspace-safety-continuity.md`, `docs/superpowers/specs/2026-07-24-workspace-context-steering-compaction-design.md` | Approved plan/design records and audit coverage. | Must preserve the accepted workspace binding, advisory context metering, idempotent steering, compaction recovery, and deferred export-anonymization boundaries. |
| `examples/qt-kanban/CMakeLists.txt` | Original Superloopy demo build code; fresh Qt configure/build/CTest. | Must require exact Qt 6.11.1, C++17, the reusable module, native app, and Quick tests. |
| `examples/qt-kanban/DESIGN.md` | Original-prose Northstar design contract; Qt theme and visual QA. | Must keep the approved tokens, responsive thresholds, state rules, functional Board return-to-overview result, prototype acceptance boundary, and explicit persistence/Undo exclusion. |
| `examples/qt-kanban/scripts/audit-macos-accessibility.sh` | Original Superloopy shell and Swift code; native macOS AX evidence. | Must verify a real card's exported role, name, focused state, AXPress action, and resulting detail-drawer activation. |
Expand Down Expand Up @@ -451,6 +449,7 @@ Total: 100 points.
| `src/cli.js` | CLI, model-install, installed-policy, doctor, plugin, and crew-line tests. | Must expose `--refresh-models` and deterministic no-query `--compat` on installs, expose read-only `doctor --refresh-models`, and preserve existing loop/hook/bin dispatch. |
| `src/comparison-similarity.js` | Doctor comparison tests. | Must compare code-shaped files only when an explicit comparison path is provided. |
| `src/continuation.js` | `test/golden-continuation.test.js`. | Must drive bounded continuation toward evidence-backed completion and mark blocked (never complete) on a cap or stall. |
| `src/compaction-recovery.js`, `src/context-cost.js`, `src/repository-binding.js`, `src/steering-receipts.js`, `src/workspace-identity.js` | Focused continuity tests and hook tests. | Must preserve durable semantics, report context cost without blocking, reject copied state, deduplicate steering, and resolve one canonical checkout identity. |
| `src/crew-lines.js` | `test/crew-lines.test.js`, `test/fleet.test.js`. | Must generate original deterministic supported-catalog lines only for known terminal crew handoffs and format them without mutating persisted state. |
| `src/design-audit.js` | Doctor design-audit tests. | Must fail missing sections, decisions, or incomplete guards. |
| `src/doctor-skills.js` | `test/doctor.test.js`, `test/doctor-review-feedback.test.js`, `node src/cli.js doctor --json`. | Must require every shipped skill directory, validate each `SKILL.md` frontmatter name, and return structured failures for unreadable skill paths. |
Expand Down Expand Up @@ -494,6 +493,7 @@ Total: 100 points.
| `test/cli-evidence.test.js` | `npm test`. | Must cover public evidence commands and finalization behavior end to end. |
| `test/cli.test.js` | `npm test`. | Must cover managed Codex installs, user-file conflict/force behavior, model control help, pre-mutation help exits, symlinked execution, and existing loop smoke paths. |
| `test/concurrency.test.js` | `npm test`. | Must prove shared locks serialize/reclaim/fail closed and managed rollback never deletes a same-content replacement inode or hides backup-cleanup failure. |
| `test/compaction-recovery.test.js`, `test/context-cost.test.js`, `test/repository-binding.test.js`, `test/steering-idempotency.test.js`, `test/workspace-identity.test.js` | Focused `node --test` continuity suite. | Must prove six compaction invariants, transparent advisory metering, checkout binding, replay-safe steering, and canonical workspace identity. |
| `test/crew-lines.test.js` | `npm test`. | Must prove crew completion lines are original deterministic localized presentation, pending/unknown lanes stay silent, and CLI status remains visible. |
| `test/docs.test.js` | `npm test`. | Must keep localized interactive-content scope, structured gate target/artifact guidance, target-aware audits/goldens, evidence-helper inventory, design authority, dependency approval/action boundaries, and the Qt Kanban prototype boundary aligned with enforced behavior. |
| `test/frontend-qt-contract.test.js` | `node --test test/frontend-qt-contract.test.js`. | Must prove explicit routing, Qt ownership/style contracts, native validation, and the absence of dead Kanban navigation affordances or fake success UI. |
Expand Down
Loading
Loading