Skip to content

Commit f9fee8c

Browse files
docs: honesty sweep — correct overclaimed dependency/feature/status docs (G09–G12) (#56)
## What Docs-only honesty sweep — four doc-vs-reality overclaims in the flagship, each corrected to the ground-truth (verified against the actual `Project.toml` / filesystem so no fix smuggles in a *new* wrong claim). | Gap | File | Was (false) | Now (true) | |---|---|---|---| | **G11** | `EXPLAINME.adoc` | `AcceleratorGate` + `JSON3` listed as hard deps; "13 weak dependencies" | AcceleratorGate is **vendored** (`src/vendored/`); JSON3 was **removed**. Real: **10** hard deps / **6** weakdeps / **5** extensions | | **G12** | `README.md` | "Coprocessor Targets" implied accelerated execution | Qualifier: detection+dispatch **skeleton**, falls back to the Julia backend (test log confirms TPU→Julia fallback) | | **G10** | `REGISTRY-READINESS.md` | "LLM-tell files … ✅ Removed" | **False** — `0-AI-MANIFEST.a2ml` (a *required* RSR manifest) and `llm-warmup-*.md` are still present; row corrected to reality | | **G09** | `EXPLAINME.adoc` | SMT skip unexplained | Documented: `packages/SMTLib.jl` is monorepo-only/unregistered → `AxiomSMTExt` doesn't load outside the monorepo → `@prove` degrades to `:unknown` (a **logged** fallback, not a silent skip) | Plus design-diary **Entry 0008** (covers the merged G06 HuggingFace wiring + this sweep). ## Verification Every corrected number was ground-truthed: - `[deps]` = 10, `[weakdeps]` = `AMDGPU/CUDA/KernelAbstractions/Metal/PyCall/SMTLib` (6), `[extensions]` = 5 — matches the new EXPLAINME text. - `AcceleratorGate` absent from `Project.toml` + `src/vendored/AcceleratorGateVendored.jl` present. - `JSON3` absent from `Project.toml`. - `0-AI-MANIFEST.a2ml`, `llm-warmup-dev.md`, `llm-warmup-user.md` all present on disk. No code changes. All edits are at repo root or `docs/design-diary/*.adoc` (not `docs/*.md`), so the AsciiDoc-by-default gate is unaffected; no V-lang tokens. ## Flagged for owner (not touched — rename/delete/policy calls) - README is `README.md` where the estate rule wants `README.adoc` (several tooling refs to `README.adoc` currently dangle). - Whether `llm-warmup-*.md` belong in a *registered* package's root. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- _Generated by [Claude Code](https://claude.ai/code/session_01UPFC9YQ7g9gc3VnRox42Q1)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent ad15f4c commit f9fee8c

4 files changed

Lines changed: 73 additions & 7 deletions

File tree

EXPLAINME.adoc

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,9 @@ requiring `PyCall`).
122122
`CpuFeatures` struct for backend capability assessment at startup.
123123

124124
| `AcceleratorGate.jl`
125-
| Direct dependency; Axiom's 15-backend dispatch architecture extends
126-
AcceleratorGate's type hierarchy with ML-specific operations.
125+
| Vendored (`src/vendored/AcceleratorGateVendored.jl`; upstream is unregistered)
126+
— NOT a `Project.toml` dependency. Axiom's 15-backend dispatch architecture
127+
extends AcceleratorGate's type hierarchy with ML-specific operations.
127128

128129
| `QuantumCircuit.jl`
129130
| Shares the backend dispatch pattern (JuliaBackend → hardware fallthrough).
@@ -225,12 +226,23 @@ requiring `PyCall`).
225226
interop, serving endpoints, model packaging, proof export, backend detection.
226227

227228
| `packages/SMTLib.jl`
228-
| Internal Julia-native SMT library consumed by the `@prove` default backend.
229+
| Internal Julia-native SMT library consumed by the `@prove` SMT backend. It is
230+
a monorepo-only, *unregistered* package (resolvable only via the workspace/dev
231+
path inside this repo), and it is wired as the `AxiomSMTExt` weak-dependency
232+
extension. Consequence: outside the monorepo the extension does not load, so
233+
the SMT path is unavailable — `@prove` then degrades gracefully (returns
234+
`:unknown` rather than proving) and the SMT-runner tests log
235+
`Skipping SMT runner test; no solver available` instead of failing. This is a
236+
deliberate, logged fallback, NOT a silent skip. Registering SMTLib in General
237+
would remove the monorepo restriction (tracked; out of scope here).
229238

230239
| `Project.toml`
231-
| Package identity (uuid `bbd403f8...`), v1.0.0, `AcceleratorGate`/`HTTP`/`SHA`/
232-
`JSON`/`JSON3`/`Zygote`/`Libdl` hard dependencies, 13 weak dependencies for
233-
GPU and coprocessor extensions.
240+
| Package identity (uuid `bbd403f8...`), v1.0.0. Hard dependencies (10):
241+
`Dates`/`HTTP`/`JSON`/`Libdl`/`LinearAlgebra`/`Random`/`SHA`/`Serialization`/
242+
`Statistics`/`Zygote` — AcceleratorGate is vendored (not a dependency) and
243+
JSON3 was removed. 6 weak dependencies
244+
(`AMDGPU`/`CUDA`/`Metal`/`KernelAbstractions`/`PyCall`/`SMTLib`) driving 5
245+
extensions for GPU / PyTorch / SMT.
234246

235247
| `docs/wiki/`
236248
| Markdown wiki: Home, User-Guide, Developer-Guide, Vision, Axiom-DSL,

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@ prod_model = compile(model, backend=ZigBackend("/path/to/libaxiom_zig.so"), opti
112112

113113
## Coprocessor Targets
114114

115+
> **Status — skeleton, not accelerated execution.** Coprocessor support today is
116+
> a *detection + dispatch* surface: `detect_coprocessor()` probes for devices and
117+
> `compile(…, backend=cop)` routes through the backend interface, but the
118+
> per-device compute kernels are not yet implemented, so execution gracefully
119+
> falls back to the Julia backend. Treat this as a forward-looking API, not
120+
> hardware-accelerated inference.
121+
115122
```julia
116123
# Non-GPU accelerator targets with self-healing fallback
117124
cop = detect_coprocessor() # TPU/NPU/VPU/QPU/PPU/MATH/CRYPTO/FPGA/DSP or nothing

REGISTRY-READINESS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package submissions. The only thing that rebuilds that trust is honesty.
1919
| `generate_certificate` threw `FieldError` (`result.mode` nonexistent) — broke the shipped example | ✅ Fixed (`verification_mode` kwarg) |
2020
| `sum(::Tensor; dims)` undefined — documented usage failed | ✅ Fixed |
2121
| Licensing self-contradictory: `Project.toml` MPL-2.0 vs source headers PMPL-1.0 (non-OSI) | ✅ Relicensed consistently to **MPL-2.0** (OSI), REUSE.toml added |
22-
| LLM-tell files in package root (`0-AI-MANIFEST.a2ml`, `llm-warmup-*.md`) | ✅ Removed |
22+
| LLM-tell files in package root | ⚠ Corrected (were NOT removed): `0-AI-MANIFEST.a2ml` is a **required** RSR machine-readable manifest — kept, not an LLM-tell to remove. `llm-warmup-*.md` remain in root as the estate LLM-warmup convention (same as sibling repos, e.g. `julia-professional-registry`). |
2323

2424
## Honest current limitations (NOT hidden)
2525

docs/design-diary/PEPYS-DESIGN-DIARY.adoc

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,3 +325,50 @@ caps the whole score).
325325
*Method held:* ran tools not docs (and ran them on my OWN deliverable);
326326
fixed the A2ML collision at source; no self-grade; faithful reporting of the
327327
BLOCKED push and the 3 template bugs I had to fix.
328+
329+
== Entry 0008 — 2026-07-01 — Shipped a planned feature honestly, then swept the overclaims
330+
331+
*Main-route directive:* "concentrate on concerns on our main route" — i.e. the
332+
flagship's holes, holes-first. Two slices, both ground-truthed by running tools.
333+
334+
*G06 — HuggingFace, wired not deleted (#55, merged).* `huggingface.jl` was 825
335+
lines of dead code: not `include`d from `src/Axiom.jl`, `using JSON3` (a dep
336+
that had been removed from Project.toml), and a `✓ Current Status` header
337+
claiming features that could not run. Rather than delete cold code (doctrine #7)
338+
I WIRED it: ported JSON3→JSON (already a dep, no new dependency), fixed the two
339+
bugs wiring exposed (unexported internals `Pipeline`/`AbstractLayer`/`parameters`
340+
needed explicit import; `verify_model` was an *undefined export* Aqua flags),
341+
and added `test/integrations/huggingface_tests.jl` exercising the network-free
342+
core (architecture detection, model building into an Axiom Pipeline, SafeTensors
343+
dtype). The `✓` header became honest capability tiers (wired+tested / needs-
344+
network / not-implemented) and the wiki's contradictory "⚠ Beta / not shipped"
345+
was reconciled. Verified: Pkg.test 732/732 green (Aqua+JET+new HF tests). The
346+
network hub-fetch is present and honestly gated as network-required, not CI-run.
347+
Measurement drove the wire-vs-park call: I didn't guess JET would tolerate 825
348+
new lines — I ran it.
349+
350+
*G09–G12 — the overclaim sweep (this entry's commit).* Four doc-vs-reality
351+
holes, each corrected to the ground-truth:
352+
- G11: EXPLAINME listed `AcceleratorGate` and `JSON3` as hard dependencies —
353+
AcceleratorGate is VENDORED (`src/vendored/`), JSON3 was removed. Corrected to
354+
the real 10 hard deps / 6 weakdeps / 5 extensions (counts verified against
355+
Project.toml, so the fix doesn't introduce a new wrong number).
356+
- G12: README's "Coprocessor Targets" presented `compile(…, backend=cop)` as
357+
working; the test log shows TPU falling back to the Julia backend. Added a
358+
"skeleton, not accelerated execution" qualifier.
359+
- G10: REGISTRY-READINESS claimed LLM-tell files "✅ Removed" — false;
360+
`0-AI-MANIFEST.a2ml` (a REQUIRED RSR manifest, must stay) and `llm-warmup-*.md`
361+
are both still present. Corrected the row to the truth.
362+
- G09: documented that `packages/SMTLib.jl` is monorepo-only/unregistered, so
363+
the `AxiomSMTExt` weakdep extension doesn't load outside the monorepo and
364+
`@prove` degrades gracefully to `:unknown` — a deliberate, LOGGED fallback,
365+
not a silent skip.
366+
367+
*Flagged for owner (not touched):* README is `README.md` where the estate rule
368+
wants `README.adoc` (several tooling refs point at `README.adoc` and dangle);
369+
and whether `llm-warmup-*.md` belong in a registered package's root. Both are
370+
rename/delete/policy calls — surfaced, not decided unilaterally.
371+
372+
*Method held:* wired-not-deleted; ran the tools (Pkg.test, grep-vs-Project.toml)
373+
not the status docs; verified my OWN corrected numbers so an honesty fix didn't
374+
smuggle in a fresh overclaim; no self-grade.

0 commit comments

Comments
 (0)