docs(repo-batcher): mark V layer legacy/transitional pending Zig port#57
Merged
Merged
Conversation
… (Refs #56, #53) Resolves the doc-debt flagged on #56: docs advertised V as a current feature, which becomes a lie once V is removed (V is banned estate-wide). - README.adoc / docs/ARCHITECTURE.adoc / ROADMAP.adoc / IMPLEMENTATION-STATUS.md: reworded the load-bearing V-as-feature claims to the honest current state (ATS2 verified core retained; V CLI/FFI layer legacy, being ported to Zig). - 6 dated snapshot docs: historical-marker banner pointing to #56 (their dated content is left intact — rewriting it would falsify history). No Zig claims asserted (port not done — that is #56). Refs #56, #53. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 18, 2026
Closed
hyperpolymath
added a commit
that referenced
this pull request
May 18, 2026
…g stub unimplemented) (#58) Supersedes the PR #57 banners after deeper investigation for #56. **Finding:** the "port V→Zig" premise is false. - `git log --all --diff-filter=A -- src/v/*` is **empty** — no V ever existed in source. - `ffi/zig/` is an **unsubstituted RSR template stub**: literal `{{project}}` placeholders, `build.zig` uses removed `addSharedLibrary` (fails under Zig 0.15.2), does not bind the ATS2 `c_exports` ABI, references nonexistent files. Not an implementation. - Real source = ATS2 verified core (11 files, exports a C ABI) + the unimplemented Zig stub. **The tool is not functional / not production-ready.** All 10 docs rewritten to that accurate state; load-bearing false claims (README headline, ROADMAP "v1.0.0 Production Ready", ARCHITECTURE V layer + table + ASCII diagram) corrected. Dated snapshot bodies left intact but banner-flagged as un-built historical plans. **No fabricated code** — the real Zig FFI/CLI is greenfield work, re-scoped on #56. Refs #56, #53. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 tasks
hyperpolymath
added a commit
that referenced
this pull request
May 18, 2026
Refs #56 > **Honest disclosure correction (fiction-review, 2026-05-18 — commit `e07c207`).** > "Fully verified" below means **type-checks under the canonical > cross-module invocation** (`just tc-ats2`, `just ats2-lib`, exit 0). > It does **NOT** mean machine-proven linear-memory safety: 55 ad-hoc > `$UNSAFE` borrow casts were collapsed into a single audited combinator > set (string_utils ×9, effects/types/github_settings ×1 each, 15 casts > in 4 files; 6 of 10 modules now `$UNSAFE`-free with machine-checked > linearity). Soundness of that set is **hand-verified proof-debt** > (copy-before-free / read-only borrow, freed-once, no escape), not > machine-proven. Layers 7–8 (Zig FFI/CLI, end-to-end Justfile) are > NOT done. This PR stays **draft** until L7–L8 land and are > fiction-reviewed. From-scratch rebuild of `scaffoldia/repo-batcher/` (see disclosure above). Prior code was fictional pseudo-ATS2 that never compiled (corrected context: merged PRs #57/#58). Anti-fiction rule strictly applied: a layer is only marked verified with the exact passing `patsopt`/`zig`/`idris2` command + output pasted in its commit. ## Toolchain (sanity-checked) ``` ATS/Postiats version 0.4.2 zig 0.15.2 Idris 2, version 0.8.0 patscc -> gcc 13.3.0 ``` ## Layer checklist (bottom-up) - [x] **Layer 1 — `src/ats2/utils/string_utils.{sats,dats}`** `patsopt -tc -s utils/string_utils.sats -d utils/string_utils.dats` → exit 0, no diagnostics. Full rewrite to real linear/length-indexed Postiats; sound bound & termination proofs; documented `$UNSAFE` borrow boundaries only. - [x] **Layer 2 — `src/ats2/operations/types.{sats,dats}`** `patsopt -tc -s types.sats -d types.dats` (from `operations/`) → exit 0. Split into interface + impl. **Honest proof-debt disclosure**: prior value-string-indexed witnesses are *unrepresentable* in real Postiats (string index sort does not exist); replaced with sound opaque constructor-controlled abstypes; effectful FS witnesses labelled as such. - [ ] Layer 3 — `validation/spdx.dats` - [ ] Layer 4 — remaining `operations/*.dats` - [ ] Layer 5 — `ffi/c_exports.dats` + `patscc` static lib - [ ] Layer 6 — `src/abi/` Idris2 ABI - [ ] Layer 7 — `ffi/zig/` build + CLI + tests (Zig 0.15.2) - [ ] Layer 8 — `Justfile` end-to-end + real binary run ## Status DRAFT — work continues bottom-up; only compile-verified layers are checked. Unverifiable layers will be reported honestly with compiler errors rather than faked. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
May 18, 2026
) (#61) ## Why PRs #57/#58 correctly described repo-batcher as an unimplemented stub. **PR #59 then implemented and merged the full L1–L8 build-out**, so README.adoc / IMPLEMENTATION-STATUS.md / docs/ARCHITECTURE.adoc are now wrong in the *opposite* direction ("not functional", "unimplemented RSR template stub", "no working end-to-end CLI yet") — the inverse of the original anti-fiction defect. ## What Corrects the **live** status framing to the independently fiction-reviewed reality: - L1–L4 ATS2 core — `just tc-ats2`=0 - L5 self-contained C archive — `just ats2-lib`=0 (`ATS_DYNLOADFLAG 0` link-completeness fix) - L6 Idris2 typed ABI, machine-checked theorems — `just abi-check`=0 - L7 `patscc`-linked Zig CLI binding the genuine ATS2 C ABI (no Zig reimpl) - L8 fixture-backed `just e2e`=0 (real temp git repo; dry-run byte-identical; real on-disk mutation via the ATS2 core; audit) "No V ever existed" is **retained** (true history). The dated 2026-02-06 body in IMPLEMENTATION-STATUS.md is left intact; its banner now correctly fences it as historical planning fiction, not status — rewriting that artifact would itself be revisionism. Refs #56 (CLOSED-COMPLETED — docs-truth follow-up, not a reopen). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🔍 Hypatia Security ScanFindings: 195 issues detected
View findings[
{
"reason": "Issue in quality.yml",
"type": "missing_workflow",
"file": "quality.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in security-policy.yml",
"type": "missing_workflow",
"file": "security-policy.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "TypeScript file detected -- banned language",
"type": "banned_language_file",
"file": "/home/runner/work/reposystem/reposystem/tools/rsr-certified/extensions/vscode/src/extension.ts",
"action": "flag",
"rule_module": "cicd_rules",
"severity": "critical"
},
{
"reason": "innerHTML assignment -- XSS risk, use textContent or SafeDOM (5 occurrences, CWE-79)",
"type": "js_innerhtml",
"file": "/home/runner/work/reposystem/reposystem/stateful-artefacts/browser-extension/scripts/popup.js",
"action": "flag",
"rule_module": "code_safety",
"severity": "high"
},
{
"reason": "innerHTML assignment -- XSS risk, use textContent or SafeDOM (1 occurrences, CWE-79)",
"type": "js_innerhtml",
"file": "/home/runner/work/reposystem/reposystem/stateful-artefacts/browser-extension/scripts/content.js",
"action": "flag",
"rule_module": "code_safety",
"severity": "high"
},
{
"reason": "innerHTML assignment -- XSS risk, use textContent or SafeDOM (4 occurrences, CWE-79)",
"type": "js_innerhtml",
"file": "/home/runner/work/reposystem/reposystem/stateful-artefacts/dashboard/js/dashboard.js",
"action": "flag",
"rule_module": "code_safety",
"severity": "high"
},
{
"reason": "innerHTML assignment -- XSS risk, use textContent or SafeDOM (5 occurrences, CWE-79)",
"type": "js_innerhtml",
"file": "/home/runner/work/reposystem/reposystem/stateful-artefacts/annotation-layer/annotations.js",
"action": "flag",
"rule_module": "code_safety",
"severity": "high"
},
{
"reason": "innerHTML assignment -- XSS risk, use textContent or SafeDOM (7 occurrences, CWE-79)",
"type": "js_innerhtml",
"file": "/home/runner/work/reposystem/reposystem/web/app.js",
"action": "flag",
"rule_module": "code_safety",
"severity": "high"
},
{
"reason": "HTTP URL in code -- use HTTPS for non-localhost (16 occurrences, CWE-319)",
"type": "js_http_url_in_code",
"file": "/home/runner/work/reposystem/reposystem/web/app.js",
"action": "flag",
"rule_module": "code_safety",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Clears the doc-debt checklist on #56 so nothing in-tree advertises banned V as a current feature (which would become a lie once the port lands).
Authoritative docs reworded (honest current state — ATS2 core retained, V CLI/FFI layer legacy/being ported, no false Zig claims):
README.adoc,docs/ARCHITECTURE.adoc,ROADMAP.adoc,IMPLEMENTATION-STATUS.md.Dated snapshot docs (
*-COMPLETE.md,*-EXPANSION-*,EXTENDED-ROADMAP-*,GETTING-STARTED.adoc): historical-marker banner → #56. Their dated content is intentionally left intact — rewriting a dated record would falsify history.The actual V→Zig code port remains #56 (not done here). Refs #56, #53.