docs: correct Kautz classification to Type 3; record Type 4 as the target - #58
Merged
Merged
Conversation
…rget
The label contradicted its own description. NEUROSYM.a2ml read:
kautz-type = 1
description = "Neural | Symbolic — strict separation with defined interface"
The `|` pipe notation is Kautz Type 3's — a neural and a symbolic engine
cooperating as co-routines across a defined interface. Type 1 (`symbolic
Neuro symbolic`) is a plain neural net where the NEURAL NET DOES THE WORK.
Type 3 is what is actually built: the LLM does natural language only, Julia
does all computation, they meet at one gate (executor.jl::execute_tool()),
and the MOLLOCK rule is enforced at runtime by validate_numeric_provenance()
in guardrail.jl. Under Type 1 the LLM would be computing — precisely the
failure this project exists to prevent. The old label described the thing
the MOLLOCK rule forbids.
Corrects all six artefacts (README.adoc x2, EXPLAINME.adoc, guix.scm,
0-AI-MANIFEST.a2ml, ECOSYSTEM.a2ml, NEUROSYM.a2ml prose + kautz-type) and
writes the taxonomy reasoning into NEUROSYM.a2ml so it is not silently
reverted later.
Also records a target end-state, which had never been captured anywhere:
docs/decisions/ held only the template and ADR 0001, and no target appeared
in RSR_OUTLINE.adoc, STATE.a2ml or NEUROSYM.a2ml. Adds ADR 0002 and
`kautz-target = 4`.
Type 4 (`Neuro:Symbolic -> Neuro`) — symbolic knowledge compiled back into
the neural component. The lever already exists: of the six stages in
[verification-pipeline], exactly one (compute/Julia) is `implemented`; the
`verify` stage, an adversarial neurosymbolic SLM, is the Type 4 transition.
Consequence worth stating plainly: reaching Type 3 is NOT a work item. It is
already built, and this is a paperwork correction. The programme is 3 -> 4.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
hyperpolymath
marked this pull request as ready for review
July 21, 2026 05:41
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.



The label contradicted its own description
NEUROSYM.a2mlread:The
|pipe notation is Kautz Type 3's — a neural and a symbolic engine cooperating as co-routines across a defined interface. Type 1 (symbolic Neuro symbolic) is a plain neural net where the neural net does the work.Type 3 is what is actually built here:
src/tools/executor.jl::execute_tool()validate_numeric_provenance()insrc/tools/guardrail.jl, tested intest/guardrail_test.jlUnder Type 1 the LLM would itself be computing — precisely the failure this project exists to prevent. The old label didn't just misfile the project; it described the thing the MOLLOCK rule forbids.
Corrects all six artefacts (
README.adoc×2,EXPLAINME.adoc,guix.scm,0-AI-MANIFEST.a2ml,ECOSYSTEM.a2ml,NEUROSYM.a2mlprose +kautz-type), and writes the taxonomy reasoning intoNEUROSYM.a2mlso a future reader doesn't silently revert it.A target end-state, which had never been recorded
docs/decisions/held only0000-template.mdand0001-adopt-rsr-standard.md; no target appeared inRSR_OUTLINE.adoc,STATE.a2ml, orNEUROSYM.a2ml. The convention exists elsewhere in the estate —idaptik-umshasdocs/adr/0001-ai-edit-kautz6-nesy.adoc(Kautz 6) — statistikles just hadn't used it.Adds ADR 0002 and
kautz-target = 4.Type 4 (
Neuro:Symbolic → Neuro) — symbolic knowledge compiled back into the neural component. The lever already exists in[verification-pipeline], where exactly one of six stages isimplemented:That
verifystage is the Type 4 transition.The consequence worth stating plainly
Reaching Type 3 is not a work item. It is already built — this is a paperwork correction. The engineering programme is 3 → 4, and the five
plannedstages are its backlog.Corollary recorded in the ADR: those stages must stay honestly marked
planneduntil they actually run. Marking an unbuilt stageimplementedwould be the documentation equivalent of a MOLLOCK, and the same objection applies.Verification
Kautz Type 1/kautz-type = 1occurrences remain (grepclean)%G? = G)src/,test/, or CINote for reviewers
This is a classification judgement, not a code change. If you read the executor/guardrail boundary as Type 2 (
Symbolic[Neuro]— symbolic in charge, calling the neural as a subroutine) rather than Type 3, that's a reasonable alternative reading and worth arguing here before merge. I chose Type 3 because the LLM drives the tool-calling loop rather than being invoked by the Julia pipeline.🤖 Generated with Claude Code