Skip to content

Repo potential assessment: fix identity, purge template residue, green the governance CI#41

Merged
hyperpolymath merged 8 commits into
mainfrom
claude/repo-potential-assessment-9gik0n
Jul 17, 2026
Merged

Repo potential assessment: fix identity, purge template residue, green the governance CI#41
hyperpolymath merged 8 commits into
mainfrom
claude/repo-potential-assessment-9gik0n

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

bofj-kitt was scaffolded from the RSR template on 2026-03-16 and never given its own identity. It carried three contradictory identities (README/manifests said "pseudoscript"; Justfile/STATE said "rsr-template-repo"; only CLADE.a2ml said "bofj-kitt"), ~88 files of unfilled {{TOKEN}} placeholders, a vendored 4.9 MB copy of an unrelated project (AffineScript, headless + AGPL-in-an-MPL-repo), and governance CI that failed deterministically on several of its own estate rules.

This PR brings the repo to an honest baseline (roadmap milestone M0): one truthful identity everywhere, governance CI that passes its own rules, and a committed assessment + M0–M5 roadmap. It adopts the purpose from the GitHub description — Shared Developer Environment Extension Kit (the "SuperChainsaw") for the BoJ (Box of Justice) server. No product code is written in this pass; the kit is specified as future work.

Full findings and rationale: docs/reports/audit/repo-assessment-2026-07-16.adoc.

Changes

  • Removed the vendored affinescript/ subtree (608 files, 4.9 MB) and the uninstantiated src/interface/ template ABI/FFI (the FFI never compiled — it held literal {{project}} tokens as identifiers) plus template-only test/bench/validation harnesses and the invalid e2e.yml.
  • Identity rewrite to bofj-kitt across README, 0-AI-MANIFEST.a2ml, STATE.a2ml/6a2/{STATE,ECOSYSTEM,META}.a2ml, Justfile, contractiles, TOPOLOGY.adoc, ROADMAP.adoc, TEST-NEEDS.adoc, EXPLAINME.adoc, and onboarding docs. ADRs recorded for the three decisions.
  • estate-rules green: fixed root-shape allowlist (allow README.md/CONTRIBUTING.md/SECURITY.md/LICENSES/; removed root .adoc duplicates that have canonical copies under docs/); converted the one .md under docs/ to .adoc; scrubbed banned-language references from ~30 template files.
  • openssf-compliance green: filled the token-scanned manifests; removed the 406-line unfilled .github/SECURITY.md in favour of the real root SECURITY.md; filled .envrc, .well-known/*, FUNDING.yml, settings.yml, READINESS.adoc header.
  • CI repairs: fixed dogfood-gate.yml (was invalid YAML — embedded Python fell out of its run: block); pointed rhodibot.yml's dead workflow_run trigger at the real workflow name; fixed crg-grade/crg-badge to read docs/status/READINESS.adoc; retargeted codeql.yml from javascript-typescript (gone) to actions.
  • Added docs/reports/audit/repo-assessment-2026-07-16.adoc and an M0–M5 roadmap.

RSR Quality Checklist

Required

  • Tests pass (just test or equivalent) — no product tests yet (pre-alpha); governance workflow/aspect checks unaffected
  • Code is formatted
  • Linter is clean (no new warnings or errors)
  • No banned language patterns — the pass removes the repo's banned-language FFI
  • No unsafe blocks without // SAFETY: comments
  • No banned functions (believe_me, unsafeCoerce, Obj.magic, Admitted, sorry)
  • SPDX license headers present on all new/modified source files
  • No secrets, credentials, or .env files included

As Applicable

  • .machine_readable/STATE.a2ml updated (project state changed)
  • .machine_readable/ECOSYSTEM.a2ml updated (integrations changed)
  • .machine_readable/META.a2ml updated (ADRs added)
  • Documentation updated for user-facing changes (README, EXPLAINME, onboarding)
  • TOPOLOGY updated (architecture rewritten for the kit)
  • CHANGELOG or release notes updated — deferred to M1
  • New dependencies reviewed — none added

Testing

Ran the estate gates locally against the tracked tree (CI-accurate):

  • scripts/check-root-shape.sh — PASS (the only working-tree offender is the gitignored, CI-absent .claude/)
  • scripts/check-no-md-in-docs.sh — PASS
  • scripts/check-no-vlang.sh — PASS on all tracked files (remaining hits are confined to the gitignored .claude/settings.local.json)
  • OpenSSF placeholder scan reproduced over its exact file list — 0 tokens; .github/SECURITY.md absent
  • All 17 workflows parse and declare jobs: (PyYAML)
  • just crg-grade reads X from READINESS.adoc (not the fallback)
  • No pseudoscript identity residue in tracked files

Screenshots

n/a

🤖 Generated with Claude Code

https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx


Generated by Claude Code

claude added 7 commits July 17, 2026 00:11
…te scaffolding

- Remove affinescript/ (608-file vendored copy of another project; headless
  without its bin/ CLI and carrying an AGPL license text in an MPL repo)
- Remove src/interface/ (template Idris2 librsr ABI, Zig FFI with literal
  {{project}} tokens as identifiers, stale committed .ttc artifacts)
- Remove template-only harness: validate-template.sh, template_bench.sh,
  template_instantiation_test.sh, ABI-FFI-README.adoc
- Remove e2e.yml (invalid empty jobs map; real e2e returns at roadmap M3)
- Drop dangling references (root-allow.txt, PR template, validate.just,
  root-cleanup.adoc)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx
- root-allow.txt: allow README.md, CONTRIBUTING.md, SECURITY.md, LICENSES/;
  remove root duplicate .adoc files that have canonical copies under docs/
- convert docs/tech-debt-2026-05-26.md -> .adoc (no .md permitted under docs/)
- scrub Zig/FFI references from ~30 template files (commented build examples,
  find/grep language lists, doc tables) now that the template FFI is gone
- retarget eclexiaiser.toml to bofj-kitt + an existing source file
- rewrite docs/status/TEST-NEEDS.adoc to the honest zero-test state
- gitignore local .claude/ session artifacts

Identity files still carrying template names (STATE.a2ml, 0-AI-MANIFEST.a2ml,
humans.txt) are rewritten in the following identity/token commits, which bring
check-no-vlang fully green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx
…l-known

- META.a2ml/ECOSYSTEM.a2ml: fill {{REPO}}/{{REPO_DESCRIPTION}}; type tooling;
  declare boj-server/rsr-template-repo/standards relationships
- remove .github/SECURITY.md (406-line unfilled template; root SECURITY.md is
  the real, substantive policy)
- fill .envrc, .well-known/{humans,security,ai}.txt, .github/{FUNDING,settings}.yml,
  docs/status/READINESS.adoc header, maint-assault.sh BINARY_NAME
- drop stale Palimpsest-MPL / PMPL wording (license is MPL-2.0 + CC-BY-SA-4.0)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx
- README.md: full rewrite — bofj-kitt as the BoJ dev-environment extension kit,
  honest pre-alpha status, roadmap/assessment pointers, fixed license badges
- 0-AI-MANIFEST.a2ml, STATE.a2ml, 6a2/{STATE,ECOSYSTEM,META}.a2ml: real
  bofj-kitt identity, purpose, phase (design), honest completion; ADRs recorded
- Justfile project/REPO vars; contractiles (INTENT/MUST/TRUST/ADJUST); AI.a2ml;
  Bustfile identity → bofj-kitt
- docs/architecture/TOPOLOGY.adoc, docs/status/{ROADMAP,TEST-NEEDS,READINESS}.adoc:
  rewritten for the kit; ROADMAP now carries M0–M5
- EXPLAINME.adoc retitled (dropped Julia-registry template section);
  llm-warmups, QUICKSTART-*, setup.sh, copilot-instructions retargeted
- lineage/provenance references to rsr-template-repo deliberately retained

check-no-vlang and pseudoscript now clean across all tracked files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx
…l language

- dogfood-gate.yml: indent embedded tomllib Python into its run:| block scalar
  so the workflow is valid YAML (it errored on every run before)
- rhodibot.yml: point workflow_run at the real workflow name 'Hypatia Security
  Scan' (was 'Hypatia Neurosymbolic Analysis' — a trigger that never fired)
- Justfile crg-grade/crg-badge: read docs/status/READINESS.adoc with the adoc
  single-asterisk grade pattern (was READINESS.md + markdown-bold pattern)
- codeql.yml: analyse 'actions' (the repo's real executable surface) instead of
  javascript-typescript, which no longer exists after the affinescript removal

All 17 workflows now parse and declare jobs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx
- docs/reports/audit/repo-assessment-2026-07-16.adoc: findings (three-way
  identity split, vendored affinescript, uninstantiated scaffolding, token
  census, CI health), decisions, potential, M0–M5 roadmap, and appendices
  (deferred token inventory; intentionally-kept historical files)
- remove stale src/interface ABI references from the AI assistant rule files
  (.clinerules/.cursorrules/.windsurfrules) now that the tree is gone

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx
…-vlang

The assessment described the removed FFI by naming its language; the estate's
no-banned-language rule scans all tracked files, so describe it generically
instead.
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

The a2ml-validate job (in dogfood-gate) requires an unindented
name/project/agent-id key. MAINTENANCE-CHECKLIST.a2ml had none and TSDM.a2ml's
name keys were all indented, so both failed 'Missing required identity field'.
Add a top-level name key to each, matching the passing sibling
SOFTWARE-DEVELOPMENT-APPROACH.a2ml. These were pre-existing failures newly
surfaced now that dogfood-gate.yml parses as valid YAML.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xw37JPAVjBDvAKdBRGRqMx
@hyperpolymath
hyperpolymath marked this pull request as ready for review July 17, 2026 06:19
@hyperpolymath
hyperpolymath merged commit 120fd28 into main Jul 17, 2026
33 of 35 checks passed
@hyperpolymath
hyperpolymath deleted the claude/repo-potential-assessment-9gik0n branch July 17, 2026 06:20
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.

3 participants