You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a reusable Auto Storage Compat Kit that reduces the repeated investigation and scaffolding work needed to add deterministic cross-mod support, while preserving Auto Storage's fail-closed, server-authoritative transaction contract.
The tool is for both repository-owned bundled modules and independent third-party addon projects. It automates evidence collection, boilerplate, and verification; it must never infer unsafe runtime semantics or silently downgrade an incomplete integration.
Design principles
Development-time automation only: no runtime jar scanning, reflection fallback, recipe-name guessing, or EMI/JEI-driven crafting logic.
Facts may be extracted automatically; consumption, catalyst, remainder, output, work, and determinism semantics require an explicit reviewed contract.
Unknown or ambiguous fields remain needs_decision and block generation/verification.
Target versions and SHA-256 values are reproducible audit/CI evidence, not exact player dependency pins or a multi-version support promise.
Produce a compact, deterministic compat-audit.json containing:
mod ID, declared version, source/release reference, and jar SHA-256;
recipe types, serializers, concrete recipe classes, registry IDs, and public signatures;
station/item candidates and public item/fluid/energy/chemical/addon resource APIs;
sample recipe shape evidence where static data is available;
explicit risk flags for chance outputs, world/entity mutation, multiblocks, live external-machine state, unbounded/dynamic output, missing simulation, and generic Recipe#getIngredients() surfaces;
file/class/method evidence references without embedding entire upstream source trees.
Implementation baseline: Python zipfile/json/hashlib plus JDK javap -public/-c/-p.
2. decide
Convert the audit into a reviewed compat-contract.json that records, per accepted recipe family:
exact recipe class and RecipeType;
consumed inputs, catalysts, tools/durability, remainders, and complete outputs;
typed resource keys and units;
logical station descriptor and exact variants/rational rates;
station-work and energy/resource costs;
deterministic bounds and rejected families with reasons.
The CLI should generate next-actions.md containing only unresolved semantic decisions. This is the primary token-reduction boundary: agents and contributors read the compact audit, contract, and version delta instead of repeatedly rereading a complete upstream repository.
Cache scans by target jar SHA-256 and report only changed classes, signatures, recipe types, registry IDs, and contract-affected evidence. Do not rescan/re-explain unchanged upstream surfaces.
6. publish
Publish a versioned auto-storage-compat-kit.zip containing:
Goal
Build a reusable Auto Storage Compat Kit that reduces the repeated investigation and scaffolding work needed to add deterministic cross-mod support, while preserving Auto Storage's fail-closed, server-authoritative transaction contract.
The tool is for both repository-owned bundled modules and independent third-party addon projects. It automates evidence collection, boilerplate, and verification; it must never infer unsafe runtime semantics or silently downgrade an incomplete integration.
Design principles
needs_decisionand block generation/verification.AutoStorageAddon.register(...)SDK introduced by [API/Architecture] Modular compatibility SDK and conditional built-in modules #32.Proposed workflow
1.
scanProduce a compact, deterministic
compat-audit.jsoncontaining:Recipe#getIngredients()surfaces;Implementation baseline: Python
zipfile/json/hashlibplus JDKjavap -public/-c/-p.2.
decideConvert the audit into a reviewed
compat-contract.jsonthat records, per accepted recipe family:RecipeType;The CLI should generate
next-actions.mdcontaining only unresolved semantic decisions. This is the primary token-reduction boundary: agents and contributors read the compact audit, contract, and version delta instead of repeatedly rereading a complete upstream repository.3.
scaffoldBundled mode generates or updates:
src/compat/<mod-id>/compat-module.json;External mode generates an ordinary NeoForge addon project with:
AutoStorageAddon.register(...)entrypoint;Incomplete generated behavior must remain an explicit RED test or generation error, never a compiling empty integration.
4.
verifyGenerate/run a machine-readable verification report covering:
5.
diffCache scans by target jar SHA-256 and report only changed classes, signatures, recipe types, registry IDs, and contract-affected evidence. Do not rescan/re-explain unchanged upstream surfaces.
6.
publishPublish a versioned
auto-storage-compat-kit.zipcontaining:Suggested repository layout
Generated transient caches stay under
build/compat-kit/cache/<sha256>/and are not committed.Delivery phases
Phase 1 — audit contract
scan,decide,diff, SHA cache, and golden fixture tests.Phase 2 — scaffolding
compat-module.json.Phase 3 — verification and CI
Phase 4 — external distribution
First dogfood target
Use the AE2 Inscriber slice in #33:
Acceptance criteria
Dependencies