L04: contract docs use the corrected agent precompiles (F-1) - #30
Merged
Merged
Conversation
…d calls (F-1) Federation item F-1, the doc half. The model contracts no longer call the unserved 0x1000 / 0x1001 / 0x1002 addresses (citrate-chain PR 273, HUP-S7.2): - ModelRegistry registration is a record only; requestInference calls 0x0101 MODEL_INFERENCE in its native layout. - LoRAFactory training and merges run off chain and are recorded by the operator (TrainingStarted, MergeRequested, completeTraining, completeMerge); inferWithLoRA calls 0x0101 with the adapter id; on-chain LoRA arithmetic is 0x0112 LORA_APPLY / 0x0113 LORA_MERGE. - Every call goes through CitratePrecompiles, which reverts with PrecompileUnavailable instead of reading "no answer" as a result. New "Precompile calls" section: the addresses these contracts use (0x0101, 0x0106, 0x0108, 0x0112, 0x0113, 0x0121, 0x0122), what each does on 40204 today, and the behaviour before the agent precompile activation height (every call reverts; nothing changes until H, which is not scheduled). Byte layouts and gas are not copied: the section links the chain's docs/precompiles/AGENT_PRECOMPILES.md (Rule 9). Failure modes updated. Frontmatter: branch and updated added, audited_against_sha moved to the stack head fa7c913. Merge after the chain stack reaches main: until then the deployed contracts and main still carry the old constants, which the Source section says. content-lint --strict: green. truth-lint: one failure that is already on main (content/chain/_generated/addresses.md behind the 40204 book). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H
… current book The build job failed at npm audit: next 16.3.3 is inside the range of the critical next/og ImageResponse advisory (GHSA-vcvr-r3jv-pc5j, 16.2.0 to 16.3.5). Behind it, truth-lint fails because addresses.md was generated from the 2026-09-12 book while citrate-chain main holds the 2026-09-30 book (0aab474b). Both also fail on main. package.json and package-lock.json match security/next-16.3.8 byte for byte, and addresses.md is the gen-addresses output for book 0aab474b, so a later merge of that branch adds nothing here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H
…40204 The chain lane pinned the 40204 agent precompile activation at genesis, (40204, Some(0)), for the 2026-10-05 reroll (citrate-chain PR #273, ADR status accepted, gas schedule owner-signed). The page still said the fork height H was unscheduled and that 0x0112, 0x0113, 0x0121 and 0x0122 were not active. The table, the activation paragraph and the failure-mode bullet now say they are live from the first block of the rerolled 40204, and keep the fail-closed revert guidance for networks where the height is not reached. content.ts is regenerated to match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H
…izard (HUP-S11.4) (#31) * docs(core): Almanac pages for Hermes, node MCP, skills, personas and the fleet wizard (HUP-S11.4) Five member-facing pages under content/core for the Citrate Core 0.5.0 release: Hermes, the node MCP server, skills and verified learning, the six personas and five tracks (owner-approved names, Operator ships as Crew), and the fleet wizard. Each page follows the STYLE_GUIDE template, carries Rule-12 frontmatter (created, branch, author, status), and links to the technical pages in citrate-core docs/ and the runtime PERSONAS.md instead of copying them (Rule 9). Status labels say Implemented (pre-audit), arriving with 0.5.0, and name what is still pending (owner sign-off defaults, packaged-app and two-machine runs). Publish after the 0.5.0 stacks merge so the linked core docs exist on main. Gates: truth-lint (--no-fetch) OK; content-lint --strict OK (0 em-dashes, 0 word findings); build-content indexes all five pages (104 pages). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H * docs(core): Hermes page links the deploy gate model, not only the faucet (L19 review) The deploy-gate row pointed at FAUCET_IN_APP and "the deploy gate notes in the core repo". It now links the DeployGate section of src-tauri/formal/README.md and names the faucet link for what it is (deploy gas, off by default). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H * chore(content): regenerate content.ts with the core Almanac pages The stack merge brought in L04's regenerated content.ts, which predates the five content/core pages. npm run build regenerates it anyway (prebuild); committing the regenerated file keeps the tracked copy in step with content/ (2 lines, generated by scripts/build-content.mjs). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H * chore(content): regenerate content.ts with the current address page Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
BerryManifold
approved these changes
Oct 5, 2026
BerryManifold
left a comment
Contributor
There was a problem hiding this comment.
Reviewed current head and check state. Approving for the requested merge train; merge should still wait on branch protection, stack order, and any remaining CI/security gates.
Matr0xshka
approved these changes
Oct 5, 2026
Matr0xshka
left a comment
There was a problem hiding this comment.
Reviewed current head and check state. Approving for the requested merge train; merge should still wait on branch protection, stack order, and any remaining CI/security gates.
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.
What
content/contracts/models.mdnow matches the contracts on the chain stack (chain PRs #270..#274, in particular #273):requestInferenceandinferWithLoRAcall 0x0101 throughCitratePrecompilesand revert on 40204 today.TrainingStarted, newMergeRequestedevent).docs/precompiles/AGENT_PRECOMPILES.mdinstead of copying it.content/_generated/content.tsregenerated.Why
Playbook item fed-F-1: the public contract docs named precompile addresses the contracts no longer use.
Evidence
npm run typecheckclean,npm test110 passed / 4 skipped,npm run build(with postbuildverify:bundle) green,content-lint --strict0 em-dashes / 0 word findings,truth-lint --no-fetchOK. Run on the stack top (L19: Almanac pages for Hermes, node MCP, skills, personas and fleet wizard (HUP-S11.4) #31 head 5a28b62), which contains this branch.origin/main..HEAD: no leaks.precompile_callempty reply) landed in citrate-core, not here.Pre-existing CI blockers (not from this PR, also failing on main)
npm audit --audit-level=highfails on a criticalnextadvisory. security: bump next to 16.3.8 (next/og ImageResponse RCE) #27 bumpsnextto 16.3.8 and should merge first.truth-lint(with fetch) fails becausecontent/chain/_generated/addresses.mdis behind the current 40204 address book (npm run docs:addresses). Unchanged by this PR.NOT done
scripts/devnet-precompile-check.sh(DGX ask on the sprint issue).Owner decisions (pending owner sign-off)
audited_against_shato the chain stack head fa7c913; re-point it to the merge commit when the chain stack lands.External asks
📡 DGX team (posted on the sprint issue, @SaulBuilds): build citrate from chain
hup/n7-chain-precompile-followups, start every devnet node with the sameCITRATE_AGENT_PRECOMPILES_HEIGHT=<H>(at least 60 blocks above the tip), runscripts/devnet-precompile-check.shwithRPC_URLS,DEPLOYER_KEY_FILE(0600) andEXPECT_CHAIN_ID, and post the JSON receipt. Devnet only, never 40204.Playbook items
Stack (merge in this order)
hup/n7-chain-precompile-followups->main(L04, M5)hup/n7-docs-almanac-retro->hup/n7-chain-precompile-followups(L19, M7)Prerequisites: #27 (next bump) and the citrate-chain stack #270..#274. Main is squash-only with linear history; squash each PR in order.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Lqmrq4rH9YBGCDmmemAG8H