-
boundary-exception:
verify,grounding check,evidence anchor,security report, andcrop_elementnow wrap their output in an in-toto Statement —{_type, subject, predicateType, predicate}— emitted through one serialiser so the shape cannot drift between producers.subjectnames the artifact by the SHA-256 of the bytes Ethos read, so a consumer holding the same file can confirm the verdict is about their copy. Base URI ishttps://docushell.com/ethos/<predicate>/v1, wherev1versions the predicate schema and never the product.Upgrading: the report you already parse is the
predicate.jq .predicatereturns the pre-0.6 shape byte for byte. Every migration was a pure re-wrap; no golden, schema, or example file changed when the five commands moved.doc parseandrag chunkstay bare. A document graph and a chunk stream are representations, not assertions about anything, and statements are for verdicts.answer-releasegets no predicate type: the CLI never emits it. -
Two fields added inside the report, both required reading before trusting a verdict.
attestationnames the verifier crate and version, the config label, and a SHA-256 over the exact parsed claims, so a verdict says what produced it and can be replayed. It attests the crate, not the binary — a hostile operator can lie in it, anddocs/CLAIMS.mdsays so.evidence_tierstates per check how precisely evidence was bound:exact_span,table_cell,element_scoped,page_scoped, orcapability_limited. -
GroundingElement,GroundingSpan,GroundingTable, andGroundingCellcarryOption<[i64; 4]>forbbox. The wire schema still requires geometry; the Rust type can now express its absence, which keeps the multi-format path open without opening it. Read sites fail closed — an element with no declared box contains nothing — and a test locks the geometry-free text path that a flow format would eventually need. -
boundary-exception: adds
docs/CLAIMS.md, itself covered by the claims gate. What a verdict proves, what it does not, a regulatory mapping with a residual-gap column, and the paragraph to paste into a security questionnaire. -
boundary-exception: rewrites
README.mdto drop the public-beta posture — status badge, beta block, "Current evaluation support", and the "Blocked" column. "Blocked" was internal release vocabulary meaning "not yet approved for publication", which reads to a user as broken or gatekept; the replacement states what is not supported as a fact about capability. Nothing claims production readiness, andclaims_gate.pypasses, so removing hesitation bought no overclaim.docs/public-boundary-claims.jsonis updated to match: five pinned strings carrying the retired wording replaced by six carrying the same boundaries in the new voice. -
boundary-exception: scopes
.github/workflows/ci.ymlto product correctness and architectural invariants, parking publication gates behindmake release-gates. CI went from 81 steps to 41; roughly two thirds of the scripts under.github/scriptswere tests asserting the release machinery was wired rather than tests of Ethos. Seedocs/ci-scope.mdfor what runs, what is parked, and the trigger to restore it. -
docs: record a multi-format grounding analysis as a v0.7.0 input in
docs/v0-6-0-release.md§10.1, where §10 already pointed v0.7.0 at the §5.1 geometry requirement. A source audit found that the verifier already binds text evidence without geometry — anelement_id+expected_textref reachesAnchorStatus::BoundatAnchorLevel::Textwith no capability limit, becausepage_locator_requiredis false,resolve_pagereturnsNotChecked, andresolve_bboxis never called. The requirement is enforced in the artifact and its validator, not in the verification algorithm, across five gates; the positive-area check rules out a zero-bbox workaround. Records measurements (EMU→centipoint ties are impossible since 127 is odd; XLSX column geometry swings 12.5% with the Normal font; render-to-PDF fails both the ADR-0008 footprint ceiling and the license allowlist) and a DOCX → XLSX → PPTX sequencing rationale. §5.1 gains a pointer noting its compatibility concern is narrower than stated. Analysis only: no schema, code, contract, or public wording changes, and no commitment that v0.7.0 carries the work. -
ethos-pdf: apply page rotation when mapping PDFium text coordinates into Ethos space. PDFium reports page dimensions with rotation applied but returns text coordinates in unrotated user space, and the conversion only flipped the origin. On/Rotate 90and270pages, where the box transposes, this produced coordinates outside the reported page — including negative ones — socrop_elementcorrectly rejected them with "resolved element bbox exceeds page bounds" and no rendered crop could be produced for those documents. A/Rotate 270A4 page reported a 842x595 box while textyran to 767, givingy0 = -172. Rotation0and180are unchanged, since neither transposes the box. The unrotated media box is derived from the reported display box, so no additional PDFium symbol is required. Covered by unit tests for all four rotations that fail against the previous behavior; the existingsynthetic-rotation-90fixture asserted page dimensions and text but never bbox geometry, which is why this was not caught. -
ethos-core: make Grounding JSON validation linear by indexing page and element identifiers instead of rescanning per element, span, table, and cell. An artifact declaringspansandchar_offsetspreviously validated in quadratic time — a 15 MB artifact took 128.8 s and is now 1.2 s. Elements-only artifacts are unaffected in behavior. -
ethos-core: add a validator resource-ceiling regression test for thespans+char_offsetscapability shape, alongside the existing elements-only test. Both run in CI viamake validator-ceiling-check. Table-bearing artifacts are not separately asserted. -
ethos-core: re-measure and republish the validator resource baseline for both capability shapes. Peak RSS at the frozen element ceiling with spans is 2.66 GB, roughly double the previously published elements-only figure; size memory-capped workers accordingly. The accepted 2 KB/element RSS ceiling is exceeded by that shape and needs a decision — seedocs/validation/v0-6-0-validator-resource-baseline.md§Outstanding. -
ethos-cli: write report output atomically for regular files, via a temporary file in the destination directory. Symlinks, FIFOs, and device nodes such as/dev/stdoutcontinue to be written through directly, since replacing those inodes would destroy the destination the caller named. File modes are unchanged: an existing file keeps its mode, a new file gets 0644. -
build & cleanup: remove 5 unbuilt placeholder crate directories (
ethos-layout-ml,ethos-mcp,ethos-rag,ethos-render,ethos-security), correct the crate map and dependency graph indocs/architecture.mdto match the actual workspace manifests, add parser-neutrality compile checks to theverify-alpha-treetarget, and clarify thesemantic_unverifiedschema description. -
docs: approve the v0.6.0 public wording, applied at publication only, with a revision clause allowing changes from walkthrough findings or business need through the normal claims lane. The approval covers a capability claim already evidenced by three working mappers; the outsider walkthrough tests documentation quality and still gates publication under §5.1, not this approval. Widening past the recorded limits remains a new approval.
-
build: activate the v0.6.0 core version across the workspace, internal crate pins,
Cargo.lock,pyproject.toml, and the Python package, guarded bytest_v0_6_0_version_activation.py. Public install wording and the vendored npm payload deliberately stay on the published 0.5.0: activation is not publication, and the npm package ships a 0.5.0 binary that no version bump would change. -
docs: request the v0.6.0 public wording as a separate approval per §12. Grounding JSON is currently described in
README.mdas a proposal, which publication would make false. The request states what it does not claim, keeps the mapper requirement and geometry limitation visible, and flags that the outsider-walkthrough evidence row is not yet filled. -
ethos-core: accept the validator resource ceiling at 40 µs and 2 KB per element, replacing §12's regression comparison against the v0.5.0 verification baseline, which would measure an unchanged path. Enforced byvalidator_stays_within_the_accepted_resource_ceiling, release-only and opt-in viaETHOS_CHECK_VALIDATOR_CEILINGso wall-clock assertions cannot flake CI. Frozen structural limits are unchanged; the ~1.5 GB working set at the element ceiling is documented for integrators instead, with a validator memory guard logged as a v0.7.0 input. -
docs: measure the Grounding JSON validator at the frozen ADR-0016 ceiling instead of extrapolating. One million elements takes 26.5 s and 1.29 GB peak RSS; a schema-legal artifact near the 256 MiB input limit reached 1.42 GB. Peak RSS runs 6–9× artifact size because the validator retains the parsed artifact rather than streaming, so the input limit does not bound memory to a comparable figure. Oversized input still fails closed in milliseconds with exit
7. Records the worker-sizing consequence indocs/writing-a-mapper.md. -
docs: bind DocuShell consumer acceptance to reviewed commit
cc652ec, merged fast-forward tomainso the reviewed SHA and themainSHA are identical, satisfying §9.4's exact-commit requirement. Completes the fourth §11.4 double-run row. -
docs: record DocuShell consumer acceptance and the Grounding JSON validator resource baseline. DocuShell gains a bounded Grounding JSON shadow lane on branch
ethos-v0-6-0-grounding-shadow(cc652ec), leaving its production OpenDataLoader path untouched per §9.2; seven tests cover the §9.4 criteria. The validator baseline replaces the §12 v0.5.0 regression comparison, which would measure an unchanged path, with per-element wall clock and peak RSS figures the decider can set a ceiling against. -
ethos-core: cover Unicode scalar offset vectors for emoji and combining marks, closing the last §11.2 conformance gap. UTF-16 code-unit offsets and grapheme-cluster counts are both rejected, and an out-of-range end fails instead of panicking on the slice. -
docs: accept
docs/v0-6-0-release-prep.mdas the scoped decider request, satisfying precondition §3.1, and widen the ADR-0016 governs clause to the WP-2 and WP-3 surfaces it already decides. Addsdocs/validation/v0-6-0-double-run-determinism.mdevidencing three of the four §11.4 rows. -
build: make gate rot structurally impossible.
test_gate_reachability.pyfails if any gate script under.github/scriptsis unreachable from CI, if amaketarget invokes a script that does not exist, or if a workflow does. Wires the 12 previously unreachable contract and boundary gates into a newgovernance-gatesCI job, and removes eightmaketargets for shipped releases and milestones that together referenced roughly 280 deleted scripts and could not run at all. Deletes three gates whose only subject was a deleted record or a removed target. Gate scripts reachable from CI: 44 of 44. -
ethos-cli,@docushell/ethos-pdf: remove--source-artifactfromverifyandverify-batch, andsourceArtifactPathfromverifyClaims. The check ran and left no trace: the report was byte-identical with and without the flag, andverification_report.jsonhas no field that can express it, so a passing run read as PDF-bound to the operator while any recipient of that report could not tell it from an unbound one. Source binding stays ongrounding check, which recordssource_bindingin a schema-backed artifact. ADR-0016 records this and the two additions kept deliberately:--grounding ethos-jsonas a shared-loader alias, and in-memoryverifyClaims({ citations }). -
docs: advance public install wording to the published
0.5.0baseline. crates.io (ethos-doc-core,ethos-verify,ethos-pdf), PyPI (ethos-pdf), npm (@docushell/ethos-pdf), and GitHub Releasev0.5.0were each verified at 0.5.0, so the release ledger was correct and the install commands were a release behind. Retires and inverts the pre-publication hold intest_v0_5_0_version_activation.py, which now asserts the advertised commands name the published version. -
docs: rule Grounding JSON fingerprint identity as
representation_sha256and correctdocs/v0-6-0-release-prep.md§6.4 and §8.1 to match ADR-0016, removing the authority conflict. The quickstart flow now reads the fingerprint fromgrounding checkrather than reusing the source PDF hash, which would reportstaleagainst a correct artifact. -
docs: record the clean-room mapper walkthrough and the public-version gate deadlock. A new mapper for a synthetic parser sharing no shape with any shipped fixture, written from
docs/writing-a-mapper.mdalone, passed all four self-check steps; the independent-developer gate remains outstanding. Separately, advancing public install wording from 0.4.0 to 0.5.0 was attempted and reverted: three gates assert mutually unsatisfiable requirements, which needs a decider ruling rather than an edit. -
ethos-cli,ethos-pdf: PDFium-backed tests now skip instead of failing when Ethos does not accept the configured library. The CLI suites askethos doctor --require-pdfium; the in-crate test consultscurrent_platform_key(). Previously, correctly followingscripts/fetch-pdfium.shon a host without a pinned PDFium profile turned 1 test failure into 27. -
@docushell/ethos-pdf: fail closed with a typedunsupported_platformorvendor_invalidEthosSdkErrorinstead of an untyped launcher throw, and assert that contract — including that no process is spawned — on hosts without a packaged binary. -
docs: add
docs/writing-a-mapper.md, an end-to-end Grounding JSON guide for parser authors in any language: page-geometry sourcing, coordinate conversion, ID and ordering rules, honest capability declaration, the representation-versus-source hash distinction, a self-check recipe, and the frozen rejection-code table. -
docs: document supported hosts, mapper example invocation, page-metadata sourcing, and citation fingerprint selection in the npm quickstart.
-
build: declare the
jsonschemaschema-gate dependency inrequirements-dev.txt. -
build: remove 11 Makefile invocations of the deleted
test_roadmap_status.py, which broke every contractmaketarget, and drop the ten contract-gate assertions that pinned it. Repoint eight contract gates off the deleteddocs/roadmap.md, and recordstructural_provenancein the frozenGroundingSourcetrait inventory. Failing Python gates go from 12 to 4. -
docs: freeze the fifteen Grounding JSON validation error codes in ADR-0016 as a public compatibility surface, and record the representation-versus-source hash rationale.
-
docs: add the v0.6.0 release-prep scope authority, record v0.6.0 progress in the execution-status ledger, and reconcile the WP-0 public-posture request with the accepted README change.
-
docs: add
docs/v0-6-0-release.md, the evidence-based v0.6.0 release record — verified build, lint, test, schema, and end-to-end parser-agnostic results; the unresolved fingerprint-identity conflict; open-source usability findings including unsupporteddarwin:x64; and the remaining governance and technical release blockers. -
ethos-core: fix threeclippy::unnecessary_map_orfindings and remove a vestigial no-opreplacein the Grounding JSON duplicate-page test, restoring a cleancargo clippy --all-targets --all-features -- -D warnings. -
ethos-cli: complete WP-2 shared source selection. A present top-levelartifact_typethat is duplicated, non-string, or not exactlyethos.grounding.v1now fails with exit2instead of falling back to the native loader, andevidence anchordispatches through the same shared loader. Explicit--grounding ethos-jsonand--grounding opendataloader-jsonremain valid and no-flag native behavior is unchanged. -
ethos-cli: begin WP-2 with exact Grounding JSON dispatch,grounding check, deterministic validation reports, optional source-PDF hash binding, shared verifier loading, and atomic batch source-binding coverage, including PDF magic validation, exact unknown-field paths, stable duplicate/reference/order/geometry/offset/table error codes, and focused conformance coverage. -
ethos-core: implement the WP-1 Grounding JSON v1 schemas, duplicate-key-safe parsing, typed capability/geometry/span/table invariants, measured limits, and deterministic representation hashes under ADR-0016. -
@docushell/ethos-pdf: begin WP-3 with generated Grounding JSON and validation-report declarations plus bounded Promise-basedcheckGroundingandverifyClaimswrappers over the packaged CLI. -
@docushell/ethos-pdf: add the pinned OpenDataLoader mapper examples, byte-identical JavaScript/Python output test, and npm-first Grounding JSON quickstart bundle. -
@docushell/ethos-pdf: fail closed on foreign-adapter source binding and oversized in-memory citation objects. -
@docushell/ethos-pdf: add a temporary-project package-install test using an isolated npm cache. -
ethos-cli: add explicit representation-identity coverage proving byte changes preservesource.sha256but change the verifier fingerprint and stale existing citations. -
@docushell/ethos-pdf: cover typed exit-1 reports, timeout/cancellation cleanup, and bounded subprocess output in the SDK acceptance tests. -
@docushell/ethos-pdf: cover report-file output and removal of private in-memory citation files after successful and nonzero verification. -
@docushell/ethos-pdf: verify packaged mapper fixture hashes, Apache-2.0 provenance, source binding, and citation fingerprint coherence. -
@docushell/ethos-pdf: add a documented invalid Grounding fixture and one explicit bounding-box correction path for clean-room validation practice. -
@docushell/ethos-pdf: make vendor preparation fail closed when an extracted CLI does not expose the requiredgroundingcommand. -
docs: complete the WP-0 OpenDataLoader 2.5.0 feasibility proof against the DocuShell-vendored JAR, with source-bound page geometry, bottom-left to top-left conversion, explicit capability gaps, and byte-identical mapped output; leave ADR and public-posture acceptance gated.
-
docs: begin v0.6.0 WP-0 by reconciling the v0.5.0 release ledger and recording an executable, deterministic real-parser feasibility stop; keep schema/runtime work gated on a positive, geometry-honest mapping proof.
-
docs: narrow the draft v0.6.0 release-prep plan to a strict language-neutral Grounding JSON adoption boundary, separate exact-representation identity from PDF source binding, require a parser-neutral pinned real-parser mapping proof before schema freeze, preserve DocuShell's existing OpenDataLoader path without migration, define the mapper-once plug-and-play boundary, add optional same-run verification binding, define exact v1 version behavior, improve the minimal native-backed npm API and npm-first example, name the DocuShell Mapping & Compatibility Pilot, and simplify the README with clear current-versus-proposed parser paths and links to the relevant plan sections; record the accepted adoption direction with WP-0-only authorization, the coordinated public-posture change, strict no-repair and clean-room usability gates, and explicit v0.7.0 planning inputs for OCR, measured canonicalization, and an optional reviewed mapping assistant; keep receipt/proof/exact-replay work as an unversioned separate decision without a second v0.6.0 planning document, with WP-1 through WP-4 and exact public wording still blocked pending the recorded gates.
-
boundary-exception: close out v0.5.0 GitHub, crates.io, PyPI, and npm publication against frozen core-A/B evidence and published artifact hashes; no Windows artifact or expanded public claims.
-
boundary-exception: reconcile v0.5.0 release-boundary CI metadata and DCO sign-offs for the reviewed release implementation; no new public support boundary is opened.
-
ci: index the v0.4.0 validation closeout and bind it to the existing source commit, and align the Python public API policy with the released Evidence Handle Bridge exports.
-
ci: repin the verification Action to the published v0.4.0 Linux release archive and binary.
-
ci: make the release workflow dispatch trigger explicit for GitHub registration.
-
ci: add a fresh v0.5 candidate workflow registration for target artifact evidence.
-
ci: allow the pinned PDFium archive's config, build metadata, headers, and license notices while continuing to reject unsafe and unrelated members.
-
ci: allow the pinned PDFium archive's nested C++ header directory.
-
ci: include deterministic base CLI archive evidence in the v0.5 candidate workflow.
-
ci: bind npm B smoke validation to the canonical
ethos <version>output. -
perf: emit compact one-request-per-line NDJSON for the v0.5 batch benchmark runner.
-
boundary-exception: refresh the v0.5.0 npm B payload from frozen core-A target-smoke evidence; no publication or public install wording change.
-
docs: add a future-gated ethos-full quick install, symlink-safe launcher guidance, and macOS Gatekeeper quarantine handling.
-
test: execute the ethos-full launcher through an external symlink and bound symlink hops.
-
Fix Evidence Handle Bridge projection for real verification reports, stale evidence, structured state fields, strict contexts, and inert model prose.
-
Render complete HTML proof diagnostics with canonical schema labels and expanded variant coverage.
-
Cover the full verify-batch request boundary, foreign-grounding, config, and crop-rejection matrix.
-
Alternate performance samples, compare repeated 32-process aggregates, and bind environment metadata.
-
Reject unsafe, duplicate, unexpected, link, and special members in pinned PDFium archives.
-
Add a fail-closed validator binding future npm B activation to frozen v0.5.0 core-A target-smoke evidence.
-
Run the npm B activation boundary contract in pull-request CI.
-
Keep the npm package lockfile in the published-version hold until core-A refresh.
-
Bind npm B evidence to candidate archive sizes as well as hashes.
-
Document the operator sequence for refreshing and freezing npm B from core-A evidence.
-
Recompute source and citation fixture hashes when validating v0.5 performance evidence.
-
Add independent validation for v0.5 internal performance evidence and threshold derivations.
-
Make Evidence Handle Bridge state projection validate verification-report shape, status, and metadata fail-closed.
-
Reject empty v1 Evidence Handle Bridge contexts before hydration or state projection.
-
Reject unsafe URI-like and traversal-like HTML proof-report crop prefixes before link rendering.
-
Add an operator-only runner for v0.5 cold and batch verification timing evidence.
-
Activate v0.5.0 core Rust and Python candidate metadata in lockstep while retaining the published v0.4.0 npm payload and public install wording until the frozen-A payload refresh.
-
Reconcile stale public install wording to the closed v0.4.0 release baseline.
-
Validate
ethos-fullarchive, checksum, and inventory binding before target-host extraction. -
verify: add black-box coverage for
verify-batchcanonical per-line equivalence, ordering, repeat determinism, aggregate exit semantics, and invalid-input atomicity. -
packaging: promote the deterministic
ethos-fullbuilder from ADR proposal evidence to a v0.5 release candidate pending required target smoke and release gates. -
examples: add a deterministic, model-free Evidence Handle Bridge walkthrough bound to a recorded verification report.
-
python: add Evidence Handle Bridge v1 trusted contexts and v2 structured model citations with deterministic, fail-closed hydration while preserving citation-emission v1.
-
npm: generate Evidence Handle Bridge context and model-output declarations, and add fail-closed evidence-state projection for verification-report-bound application views.
-
report: add deterministic, self-contained HTML proof reports with supported-schema checks, escaped report content, and fail-closed crop-root validation.
-
verify: add buffered, atomic
verify-batchNDJSON verification against one validated source, with canonical per-line reports and aggregate ungrounded exit semantics. -
release: reconcile the published v0.4.0 baseline, accept the bounded v0.5.0
ethos-fullexception, and establish the v0.5.0 four-deliverable release scope.
- boundary-exception: refresh the v0.4.0 npm vendor payload from the final stable, byte-identical macOS arm64/Linux x64 CLI archives after removing the manifest checksum self-reference.
- release: remove the CLI's compile-time npm vendor-manifest inclusion so the final CLI artifact and npm vendor checksums are not self-referential.
- boundary-exception: refresh the v0.4.0 npm vendor payload from the final byte-identical macOS arm64/Linux x64 CLI archive builds without rebuilding those publication artifacts.
- ci: keep the verification Action checksum-pinned to the published v0.3.0 CLI while npm candidate vendor metadata advances to v0.4.0.
- boundary-exception: refresh the v0.4.0 npm vendor manifest and macOS arm64/Linux x64 binaries from the byte-identical caller-provided-PDFium CLI candidates; keep public installation wording on the actually published 0.3.0 package until publication closeout.
- boundary-exception: normalize CLI release archive metadata and gzip headers so repeated macOS arm64 and Linux x64 candidate builds are byte-identical before npm vendoring or publication.
- build: remove unused Cargo Deny license allowances and document the unavoidable transitive
wit-bindgenduplicate so release hygiene runs without warnings. - boundary-exception: remove completed release and milestone records together with their retired validation guards; preserve the compact current-release closeout summary required by release-state validation.
- boundary-exception: retire the completed temporary next-implementation ledger and kickoff prompt, move v0.4.0 publication tracking wholly into the accepted release-prep/closeout lane, and remove active-plan wording from the validation index and accepted PDFium install record while preserving their historical evidence IDs and conclusions.
- release: begin v0.4.0 post-merge finalization, reconcile the dropped MCP and deliberately skipped Windows publication boundaries, and record approved bounded release-note wording without changing currently approved public install claims.
- planning: drop the remaining P2 NIP-2, NIP-8, and NIP-9 workstreams from the current implementation plan by decider decision; retain them only as unapproved candidates requiring fresh scope and priority in a future release plan.
- ci: close NIP-5.3 and NIP-6.1–6.2 against green Windows x64 build/runtime smoke, macOS/Linux/Windows verification determinism, and released-CLI Action dogfood evidence while retaining the separate public Windows artifact and Action publication boundaries.
- ci: bind registry-facing install checks to the published release-state versions rather than ahead-of-publication candidate metadata, and make the DocuShell source binding externally verifiable without treating its commit as an Ethos repository object; remove the accepted DocuShell integration from the generated current-release blocker source of truth.
- benchmark: accept merged NIP-3.3 full comparison evidence at
ethos-benchmerge5945fceand the complete NIP-3.4 internal claim-audit packet at merge9287671, closing the internal trust benchmark workstream while keeping every public comparative claim gated. - benchmark: prepare NIP-3.3's source/binary-bound Ethos 0.4.0 baseline and deterministic internal comparison covering confusion matrices, precision/recall, cost per 1,000 citations, and descriptive latency variance while explicitly supporting no public or cross-system speed claim.
- planning: accept merged NIP-3.2 sibling evidence under the current review-plus-local-validation
process, explicitly defer
ethos-benchworkflows outside the Ethos critical path, and activate the full NIP-3.3 comparison report as the next P0 task. - corrective-audit: reopen incomplete NIP-3 benchmark and NIP-6 remote-CI ledger rows, reconcile candidate/public version authority and governance wording, distinguish released-CLI Action dogfood from candidate verification, and keep the quarantined MCP prototype outside the active implementation lane.
- ci: dogfood the in-repository verification Action against the README grounded and fabricated fixtures, asserting both expected outcomes so allowed failure cannot hide a regression.
- integration: close NIP-1's DocuShell first-consumer lane with accepted source bindings, real-PDF acceptance, complete friction dispositions, and no public wording changes.
- ci: add an in-repository, checksum-pinned Ethos verification Action with deterministic pull-request annotations and fail-closed exit handling.
- release: activate v0.4.0 source/package metadata and complete the Release Lane v2 pilot preflight while keeping publication, public wording, and Windows artifact gates explicit.
- benchmark: record the NIP-3.4 internal claim-audit packet for decider review without changing approved public claim strings.
- benchmark: record NIP-3.3's deterministic internal trust-judge report and retain the publication block pending the NIP-3.4 claim-audit packet.
- benchmark: complete NIP-3.2's dated two-model, five-run LLM citation-judge study with 200 schema-valid live records, cost/latency capture, and an internal-only result pending report generation and claim audit.
- benchmark: add NIP-3.1's deterministic 20-document, 200-check synthetic trust corpus, labeling guide, verifier label harness, and explicit pending human-review gate.
- distribution: add NIP-5.3 deterministic Windows x64 verify-only draft packaging, bundled fixtures, cross-target compilation, and fail-closed no-PDFium smoke coverage.
- boundary-exception: add the non-publishable NIP-5.2 ADR-0015 opt-in
ethos-fullproposal with deterministic, fail-closed macOS arm64/Linux x64 candidate evidence and complete PDFium notices while retaining the caller-provided release posture pending decider acceptance. - install: make NIP-5.1's caller-provided PDFium path executable and sha256-checked through
ethos doctor, aligned Python/npm guidance, and a copy-paste Linux x64 consumer stage. - npm: add NIP-4.5 schema-generated verification-report, citation-emission, and app
answer-release TypeScript declarations to
@docushell/ethos-pdf, with conditional-contract projection, strict consumer compilation, and double-run byte-identical generation tests. - release: reclassify the accumulated next-release train as v0.4.0, replace the obsolete narrow v0.3.1 prep with a scope-honest Release Lane v2 pilot, and keep the P2-gated MCP prototype explicitly excluded from activation and publication.
- examples: add NIP-4.3 resolvably pinned, model-free LangChain and LlamaIndex retrieval-to-verification walkthroughs with exit-1 preservation and double-run artifact checks.
- python: add NIP-4.2 dependency-free LangChain/LlamaIndex citation-emission helpers with strict retrieval metadata, fail-closed source-vocabulary hydration, and byte-stable JSON output.
- contracts: freeze NIP-4.1 citation-emission v1 as an independently versioned, parser-neutral model/callback schema with fail-closed hydration fixtures and double-run verification-report determinism coverage.
- integration: close NIP-1.6 after auditing and dispositioning all eight DocuShell integration friction entries gathered across NIP-1.1–1.5, while keeping unresolved Ethos product gaps explicitly open against their owning roadmap tasks.
- integration: complete NIP-1.5 with DocuShell's worker-only native PDF crop projection, deterministic source-bound crop bundles, public artifact routing, fail-closed PDFium handling, and rendered citation-region inspection in Evidence Chat.
- integration: complete NIP-1.4 with DocuShell's fail-closed answer-release gate, v1.1
claim_supportpolicy, deterministic contract-fixture coverage, and explicit review/rejection states above canonical citation grounding. - integration: complete NIP-1.3 with DocuShell's worker-only OpenDataLoader citation-verification lane, stored canonical reports, deterministic citation emission, preserved exit-1 reports, and fail-closed verifier errors.
- integration: complete NIP-1.2 by sha256-pinning the public v0.3.0 Linux x64 CLI and caller-provided PDFium in DocuShell's worker-only image, with deterministic offline install and fail-closed checksum/platform tests.
- planning: add
NEXT_IMPLEMENTATION_PLAN.md(NIP-1), the canonical next-steps plan covering DocuShell first-consumer integration, the trust benchmark study, citation emission adapters, install-friction work, the CI Action, and governance right-sizing, with a task-level progress ledger; reworkAGENTS.mdso implementing agents read the plan first. This plan approves engineering work and internal evidence only — public wording, benchmark claims, hosted surfaces, and production positioning remain in their existing approval lanes. - planning: revise NIP-1 to v1.1 by decider decision — deprioritize
ethos-mcp(NIP-2) to P2, promote citation emission (NIP-4) and install-friction (NIP-5) to P0, and switch the execution model to AI-agent implementation with human review/decider/operator gates, replacing week-based pacing with agent-day estimates in the progress ledger. - docs: add
docs/integrations/docushell.md(NIP-1.1), the first-consumer integration contract binding DocuShell to public Ethos surfaces only, with version pins, compatibility promises, and worker-lane rules; adddocs/integrations/docushell-friction-log.md(NIP-1.6) seeded with the first three dispositioned friction entries (TypeScript report types, PDFium image wiring, CLI vendoring bookkeeping). - governance: add
docs/release-lane-v2.md(NIP-7.1, accepted 2026-07-19): routine release trains produce exactly one prep doc and one closeout record; the full multi-record v1 lane is retained for first-of-class surfaces only; a smoothness rule limits human gates across the whole pipeline to PR review, registry publish, and public-wording changes. - docs: rewrite
CONTRIBUTING.md(NIP-7.3) as the single idea-to-release process page — a five-step first-PR quickstart, a three-requirement PR bar (tests, CHANGELOG line, DCO sign-off), project invariants as a CI-enforced reference table, and a maintainer release summary — so external contributors and AI agents can contribute without reading the internal governance apparatus. - docs: add a "catch a fabricated citation in 60 seconds" README lead demo over checked-in JSON fixtures (no PDFium required), preserving every existing public-boundary claim string and adding no new capability, benchmark, parser-quality, or production claims.
- tooling: add
scripts/fetch-pdfium.sh, an optional operator helper that downloads only the exact pinnedbblanchon/pdfium-binariesrelease recorded indocs/pdfium-profile.md, verifies the recorded archive and runtime-library sha256 values fail-closed, and prints theETHOS_PDFIUM_LIBRARY_PATHexport line; theethosbinary still never downloads or installs libraries, and PDFium remains caller-provided and unbundled. - decisions: record ADR-0013 (caller-provided PDFium beta posture) reconciling the shipped v0.3.0 no-PDFium-distribution posture with ADR-0002's phase model; re-scope the Phase 2 blocker to bundled, Windows-with-PDFium, and hosted surfaces; add an ADR-0001 addendum confirming the reduced-staff schedule and clarifying that the npm binary distribution package is not the gated "Node beta" surface.
- boundary-exception: correct v0.3.0 final GitHub Release notes and latest-release intent, add a live metadata checker for the latest pointer, body, status, and asset set, and preserve the exact approved draft-inventory provenance without replacing published assets or widening release scope.
- boundary-exception: harden next-release npm binary provenance, registry-package wording, parser-neutral dependency enforcement, determinism CI, and release-governance checks without changing Ethos verification semantics or approving DocuShell integration, hosted surfaces, production positioning, Windows artifacts, bundled PDFium, or public benchmark claims.
- boundary-exception: close existing v0.3.0 GitHub Release tag evidence without creating,
moving, deleting, or replacing tags while keeping additional release tags or release targets,
hosted, production, Windows, bundled PDFium, benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending separate lanes. - boundary-exception: close exact v0.3.0 package tag creation with remote tag evidence while
keeping additional release tags or release targets, hosted, production, Windows, bundled PDFium,
benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending separate lanes. - boundary-exception: approve exact v0.3.0 package tag creation for later operator tag creation
while keeping actual package tag creation, additional release tags or release targets, hosted,
production, Windows, bundled PDFium, benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending operator action and closeout lanes. - boundary-exception: request decider review for exact v0.3.0 package tags while keeping package
tag creation, additional release tags or release targets, hosted, production, Windows, bundled
PDFium, benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending separate lanes. - boundary-exception: close exact public
0.3.0install wording in README and public-boundary claims across live Rust, Python, npm, and GitHub Release evaluation surfaces while keeping release/package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending separate lanes. - boundary-exception: approve exact public
0.3.0install wording across live Rust, Python, npm, and GitHub Release evaluation surfaces while keeping README/public-boundary closeout, tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked until the bounded closeout record passes. - boundary-exception: request decider review for exact public
0.3.0install wording across live Rust, Python, npm, and GitHub Release evaluation surfaces while keeping public docs, release/package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending a later decision and closeout. - boundary-exception: close exact
@docushell/ethos-pdf@0.3.0npm publication with live registry evidence while keeping public install wording, release/package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending separate lanes. - boundary-exception: approve exact
@docushell/ethos-pdf@0.3.0npm publication operator action while keeping actualnpm publish, public install wording, registry closeout, release/package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending operator action, registry smoke, and closeout lanes. - boundary-exception: request decider review for exact
@docushell/ethos-pdf@0.3.0npm publication inputs while keepingnpm publish, public install wording, release/package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending a later approval decision, operator action, registry smoke, and closeout lanes. - boundary-exception: refresh the
@docushell/ethos-pdf@0.3.0npm source package candidate from published v0.3.0 GitHub Release CLI artifacts while keeping npm publish, public install wording, package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending separate lanes. - boundary-exception: close exact v0.3.0 macOS arm64 and Linux x64 GitHub Release CLI artifact
publication with published asset evidence while keeping npm vendor refresh, npm publish, public
install wording, package tags, hosted, production, Windows, bundled PDFium, benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending separate lanes. - boundary-exception: approve exact v0.3.0 macOS arm64 and Linux x64 GitHub Release CLI artifact
publication for later operator upload while keeping upload, npm vendor refresh, npm publish,
public install wording, package tags, hosted, production, Windows, bundled PDFium, benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending operator action and closeout lanes. - boundary-exception: request decider review for exact v0.3.0 macOS arm64 and Linux x64 GitHub
Release CLI artifact publication inputs while keeping upload, npm vendor refresh, npm publish,
public install wording, release/package tags, hosted, production, Windows, bundled PDFium,
benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending later approval, operator action, and closeout lanes. - boundary-exception: record v0.3.0 macOS arm64 and Linux x64 draft CLI artifact evidence while
keeping GitHub Release artifact upload, npm vendor refresh, npm publish, public install wording,
release/package tags, hosted, production, Windows, bundled PDFium, benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending later evidence, approval, and closeout lanes. - boundary-exception: align the v0.3.0 draft CLI artifact workflow smoke expectation to
ethos 0.3.0and record CLI artifact evidence prep while keeping GitHub Release artifact upload, npm vendor refresh, npm publish, public install wording, release/package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending later evidence and approval lanes. - boundary-exception: close v0.3.0 Rust crates.io and Python PyPI publication with exact live
registry evidence while keeping GitHub Release artifact upload, npm publish, public install
wording, release/package tags, hosted, production, Windows, bundled PDFium, benchmark,
ethos-doc,ethos-rag, and DocuShell integration blocked pending later evidence lanes. - boundary-exception: record v0.3.0 Rust crates.io and PyPI publication approval decision for
later operator action while keeping actual GitHub Release artifact upload, npm publish,
installable
0.3.0wording, release/package tags, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending later evidence and closeout records. - boundary-exception: request decider review for exact v0.3.0 Rust crates.io publication inputs
and exact v0.3.0 deterministic PyPI wheel publication inputs while keeping
cargo publish, PyPI upload, npm publish, GitHub Release artifact publication, release/package tags, installable0.3.0wording, npm alignment, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked. - boundary-exception: record v0.3.0 Rust package candidate and Python wheel evidence while keeping
cargo publish, PyPI upload, npm publish, GitHub Release artifact publication, release/package tags, installable0.3.0wording, npm alignment, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked. - boundary-exception: harden v0.3.0 release-candidate CI guards and document the current release
workflow artifact smoke pin while keeping
cargo publish, PyPI upload, npm publish, GitHub Release artifact publication, release/package tags, installable0.3.0wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked. - boundary-exception: activate v0.3.0 release-candidate source versions for Rust workspace and
Python package metadata while keeping npm at
0.2.1and keepingcargo publish, PyPI upload, npm publish, GitHub Release artifact publication, release/package tags, installable0.3.0wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked. - boundary-exception: record decider approval for v0.3.0 app-answer-release release-candidate
source activation while keeping package publication, artifact publication, tag creation, npm
alignment, installable
0.3.0wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked pending separate evidence records. - boundary-exception: record app-answer-release contract release-prep packet for decider review
while keeping version bump, package publication, tag creation, artifact publication,
installable
0.3.0wording, npm publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc,ethos-rag, and DocuShell integration blocked. - boundary-exception: record passing
ethos-doc-core 0.2.0locked cargo publish dry-run evidence while keeping actualcargo publish, dependent-crate dry-runs, PyPI upload, npm publish, GitHub Release artifact publication, release/package tags, installable0.2.0wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: record v0.2.0 package/build evidence for the Python wheel, local macOS arm64
draft CLI artifact, and npm package metadata while keeping npm artifact candidacy blocked on
stale vendored
ethos 0.1.2binaries and keeping publication, artifact upload, tags, installable0.2.0wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: activate v0.2.0 release-candidate source versions for Rust, Python, and npm
package metadata while keeping
cargo publish, PyPI upload, npm publish, GitHub Release artifact publication, release/package tags, installable0.2.0wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: record decider approval for v0.2.0 release-candidate activation while
keeping package publication, artifact publication, tag creation, installable
0.2.0wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked pending separate evidence records. - boundary-exception: add v0.2.0 source-preparation docs and gates for JSON verification and
evidence anchoring, the v0.2.x compatibility policy, and the bring-your-own-parser tutorial; no
0.2.0publication, package tag, GitHub Release artifact, or public install wording is approved by this entry. - python: add
EthosCli.verify(...),EthosCli.anchor(...), top-levelverify(...), and top-levelanchor(...)as caller-provided CLI wrapper calls; verify exit1with a JSON report returns a negative result instead of raising. - boundary-exception: close patch
0.1.2current status for the approved evaluation surfaces; no hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, orethos-ragboundary change. - boundary-exception: close patch
0.1.2package tag creation with exact remote tag evidence while retaining hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragblockers. - boundary-exception: record decider approval for exact patch
0.1.2package tag creation while keeping actual tag creation as a later operator action and retaining hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragblockers. - boundary-exception: request decider review for exact patch
0.1.2package tag creation while keeping tag creation, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked pending a separate approval decision. - boundary-exception: close patch
0.1.2Python public install wording for published PyPI wheelethos-pdf==0.1.2while keeping package tag creation, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: close patch
0.1.2Python PyPI publication with exact registry evidence forethos-pdf==0.1.2while keeping Python public install wording, package tag creation, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: record decider approval for bounded later deterministic patch
0.1.2Python PyPI wheel publication while keeping actual upload, Python public install wording, package tag creation, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: request decider review for exact deterministic patch
0.1.2Python PyPI wheel publication while keeping PyPI upload, Python public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: close patch
0.1.2Rust public install wording for published cratesethos-doc-core,ethos-verify, andethos-pdfwhile keeping PyPI publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: close patch
0.1.2crates.io publication for Rust cratesethos-doc-core,ethos-verify, andethos-pdfwhile keeping Rust public install wording, PyPI publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: record decider approval for bounded later crates.io publication of patch
0.1.2Rust cratesethos-doc-core,ethos-verify, andethos-pdfwhile keeping actual operator publication, package tag creation, Rust public install wording, PyPI publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: request decider review for exact patch
0.1.2Rust crates.io publication ofethos-doc-core,ethos-verify, andethos-pdfwhile keepingcargo publish, package tag creation, Rust public install wording, PyPI publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: close patch
0.1.2public install wording for the published npm package and GitHub Release CLI artifacts while keeping Rust crates and Python wheel install wording on0.1.1, and retaining hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragblockers. - boundary-exception: close patch
0.1.2npm publication with exact registry evidence for@docushell/ethos-pdf@0.1.2while keeping public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: record patch
0.1.2npm publication blocker after an approved@docushell/ethos-pdf@0.1.2publish attempt failed with npmE404; retry, registry closeout, public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces remain blocked. - boundary-exception: approve exact patch
0.1.2npm publication decision for later operator publish of@docushell/ethos-pdf@0.1.2while keeping publish execution, public install wording, registry closeout, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: request decider review for exact patch
0.1.2npm publication of@docushell/ethos-pdf@0.1.2while keeping publish, public install wording, registry closeout, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: refresh the
@docushell/ethos-pdf@0.1.2npm vendor payload from published patch0.1.2GitHub Release CLI artifacts while keeping npm publication, public install wording, registry publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: close exact patch
0.1.2macOS arm64 and Linux x64 GitHub Release CLI artifact publication while keeping registry, npm vendor refresh, public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked until separate lanes pass. - boundary-exception: approve exact patch
0.1.2macOS arm64 and Linux x64 GitHub Release CLI artifact publication for later operator upload while keeping upload, registry, npm vendor refresh, public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked until separate closeout or approval records pass. - boundary-exception: request decider review for exact patch
0.1.2macOS arm64 and Linux x64 GitHub Release CLI artifact publication while keeping publication, registry, npm vendor refresh, public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: record patch
0.1.2draft CLI artifact evidence for macOS arm64 and Linux x64 while keeping GitHub Release publication, registry publication, npm vendor refresh, public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: record patch
0.1.2artifact/package evidence prep and update draft CLI artifact smoke expectations toethos 0.1.2while keeping npm, public install wording, registry publication, GitHub Release publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragsurfaces blocked. - boundary-exception: activate Rust workspace and Python source/package metadata for patch
0.1.2candidate validation while keeping npm and public install wording on the published0.1.1baseline; no release, tag, package publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, orethos-ragboundary change. - boundary-exception: record narrow patch
0.1.2readiness prep and professional public README beta wording while retaining0.1.1install baselines; no release, tag, package publication, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, orethos-ragboundary change. - boundary-exception: add an
evidence_anchorv1 guard target, CI guard step, and schema-bound inventory for the merged source-only command; no hosted, production, Windows, bundled PDFium, benchmark, parser-quality, table-quality, or release-posture boundary change. - boundary-exception: add source-only
ethos evidence anchorschema and CLI surface for deterministic evidence refs; no hosted, production, Windows, bundled PDFium, benchmark, parser-quality, table-quality, or release-posture boundary change. - boundary-exception: refresh patch
0.1.1execution status for published evaluation surfaces while retaining hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragblockers. - boundary-exception: document bounded patch
0.1.1public install paths for published evaluation surfaces while retaining hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, andethos-ragblockers. - boundary-exception: close patch
0.1.1Python PyPI publication with exact registry evidence; no public install wording, hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, orethos-ragboundary change. - boundary-exception: approve exact patch
0.1.1deterministic Python PyPI wheel publication decision for later operator upload; no PyPI upload or support-boundary change. - boundary-exception: request exact patch
0.1.1deterministic Python PyPI wheel approval for decider review; no PyPI upload or support-boundary change. - boundary-exception: record patch
0.1.1Python wheel reproducibility blocker after pre-upload hash mismatch; no PyPI upload or support-boundary change. - boundary-exception: approve exact patch
0.1.1Python PyPI wheel publication decision for later operator upload; no PyPI upload or support-boundary change. - boundary-exception: request exact patch
0.1.1Python PyPI wheel publication approval for decider review; no PyPI upload or support-boundary change. - boundary-exception: close patch
0.1.1Rust crates.io publication with exact registry evidence; no public installation wording or support-boundary change. - boundary-exception: approve exact patch
0.1.1Rust crates.io publication decision for later operator publish; nocargo publishor support-boundary change. - boundary-exception: request exact patch
0.1.1Rust crates.io publication approval for decider review; nocargo publishor support-boundary change. - boundary-exception: close patch
0.1.1npm publication with exact registry evidence; no hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, orethos-ragboundary change. - boundary-exception: approve exact patch
0.1.1npm publication decision for later operator publish; no npm publish or support-boundary change. - boundary-exception: request patch
0.1.1npm publication approval for exact refreshed package candidate; no npm publish or support-boundary change. - boundary-exception: refresh patch
0.1.1npm vendor payload from published CLI artifacts; no npm publication or support-boundary change. - boundary-exception: close patch
0.1.1CLI artifact publication with exact GitHub Release evidence; no npm vendor refresh, npm publication, or support-boundary change. - boundary-exception: approve exact patch
0.1.1CLI artifact publication decision for later operator upload; no upload, npm vendor refresh, npm publication, or support-boundary change. - boundary-exception: request patch
0.1.1artifact publication approval for exact evidenced CLI assets; no publication, npm vendor refresh, npm publication, or support-boundary change. - boundary-exception: record patch
0.1.1draft artifact evidence for decider review; no GitHub Release publication, npm vendor refresh, npm publication, or support-boundary change. - boundary-exception: clarify patch
0.1.1artifact and npm vendor refresh prep in operator docs; no artifact publication, package publication, or support-boundary change. - boundary-exception: prepare patch
0.1.1workspace, Python, npm, CLI, and public install/version surfaces for review; no new hosted, production, Windows, bundled PDFium, benchmark,ethos-doc, orethos-ragboundary opens. - boundary-exception: add patch
0.1.1readiness-prep record for review only; no version bump, release approval, artifact approval, package publication, or support-boundary change. - process-follow-up: record patch
0.1.1readiness prep contents and retained blockers without approving release action or changing versions. - process-follow-up: keep validation-record integrity from treating decimal workflow run IDs as git refs.
- cli: point missing or unusable PDFium errors to
ethos doctor,ethos doctor --require-pdfium, and the manual setup doc without changing exit codes. - docs: add a bounded 2-minute PDF parse quickstart using the synthetic born-digital fixture and
ethos doctor --require-pdfium. - boundary-exception: add
ethos doctordocs pointer for caller-provided PDFium diagnostics; no PDFium posture or support-boundary change. - process-follow-up: include synthetic fixture stage goldens in the light-lane golden-change rationale guard; no parser output change.
- boundary-exception: prune redundant Milestone E command-index, record-index, source-head, and guard-sequence checks from routine prep and CI after light-check absorbed generic validation.
- boundary-exception: pilot centralizes public boundary wording and adds local light-lane gates; no release surface or support boundary changes.
- process-follow-up: add npm/crate/pyproject boundary-claim surfaces and align golden detection with export fixtures after the pilot lands.