Adoc unterminated-block recovery
Owner authorization: accept the pinned engine recovery for reader.unterminated, retain its actual block structure,
and report opening file/line, delimiter kind and inclusive ending file/line. Do not repair source or guess intent.
Unrelated ERROR/FATAL remains fail-closed.
Allowed paths
packs/product/famx/functions/adoc/engine.tspacks/product/famx/functions/adoc/index.tspacks/product/famx/functions/adoc/types.tspacks/product/famx/functions/adoc/failures.test.tspacks/product/famx/functions/adoc/unterminated.test.tspacks/product/famx/README.mdpacks/product/famx/pack.json- This task page
Basis and changes
The previous group refusal for a structured unterminated flag was stricter than the engine’s supported recovery; its former rejection expectation is updated to the owner’s recovery rule. The adapter observes native reader calls and cursor positions, including nested bounded readers, rather than warning words or a new delimiter parser. Existing block interpretation is unchanged. Synthetic fixtures demonstrate literal/example recovery, swallowed signature-looking content, cross-file ranges and unrelated errors. Pinned vendor bytes are unchanged.
Latest main was integrated before bumping FAMX from 1.7.27 to 1.7.28 and re-signing its manifest.
Synthetic validation
npm run typecheck: passed.node --test --test-concurrency=2 "packs/product/famx/functions/adoc/*.test.ts" "hub/knowledge/**/*.test.ts": 534 passed, zero failed/skipped.- Seven new recovery tests include native container/file ends, nested blocks, cross-file positions, determinism, reference-only/literal interpretation, unrelated ERROR refusal and restored observer methods.
node packs/product/famx/api.ts check: manifest current for FAMX 1.7.28.
These checks use synthetic sources only; they do not claim a real-source production or deployment result.