Repository navigation
Conversation
…d core boundary Add an opt-in application-side extension without changing the kernel, control-plane Planner, API routes, or deployment defaults. Include immutable Choice contracts, ordered providers, human-review defaults, metadata-only acknowledged audit, a real-core adapter, 110 independent/mocked tests, five real-core integration tests and a pinned-kernel CI workflow. Local verification: 110 passed, real-kernel module skipped (dependency unavailable); repeated pass, 100% added-module statement/branch coverage, Python 3.10 grammar check and wheel build. Full control-plane regression and real-provider calls not run.
Verified CI receipt — implementation commit
|
| Environment | Result | Added-module coverage | Synthetic local demo |
|---|---|---|---|
| Python 3.10.21 + real veronica-core 3.10.0 | 115 passed, no skips, 0.53 s | 290 statements / 90 branches; 100% | PASS |
| Python 3.12.14 + real veronica-core 3.10.0 | 115 passed, no skips, 0.43 s | 290 statements / 90 branches; 100% | PASS |
The workflow built the real kernel from exact commit d03aa2fcba32dadcb9a8f22b52ab402af7829ef7. GitHub tested the PR's temporary merge ref 4ddf65bf0cea4ffc48fbb47b730eb8f991d5f6ae (implementation head above + base 730f42830ac8ccee553d668b54aa950966b9dcbf), not a merge to main.
The five real-core tests cover answer capture, aborted-context denial, shared step-limit enforcement across fallback, pre-dispatch cost-estimate denial, and provider exception without fallback. Both demo cases returned review_required and authorization_granted=false; they use synthetic local classifiers, not live models.
Codespell run 35103922169 also completed successfully. Claude Code Review was skipped because this PR remains a draft.
Additional local verification against the built/installed wheel: Python 3.13.5, 110 passed / 1 module skipped, 100% added-module coverage. That local skip is still real: the offline environment lacks the kernel; the CI results above independently cover the five integration tests.
Limitations unchanged: no complete control-plane regression run, live vendor/model integration, durable audit or approvals, authenticated HTTP service, actual-usage billing, deployment, or merge. Coverage is not a security or correctness proof.
…ompletion Add an opt-in local document workflow: bounded delegation, strict JSON/text/PDF extraction, durable SQLite ledger/journal/audit, atomic non-destructive archives and receipts, read-back verification, restart reconciliation, duplicate/conflict handling, foreground run/watch/demo CLI, and real-core tool enforcement. Keep the original advisory gateway and existing control-plane/core behavior unchanged. Preserve gateway documentation separately. Add independent file/SQLite tests, actual process-death recovery tests, seven real-core integration tests, and Linux/Windows CI. No production deployment, secrets changes, model calls, or main-branch merge. Local verification before commit: 195 passed / 2 real-core modules skipped on Python 3.13.5 with installed pypdf 5.9.0; exact uploaded extension tree matches local source. CI will independently qualify real core 3.10.0 and pinned pypdf 6.18.1. Full control-plane regression not run.
Windows CI found false source-change failures when mixing fstat and path.stat observations. Reopen the path while the original handle remains live and compare all identity, size, mode, link-count and timestamp fields through fstat. Do not drop identity or timestamp validation. Reject non-regular candidates before opening and use nonblocking opens where supported. Add eight portable regression cases for differing API representations, changed/replaced snapshots and nonblocking FIFO rejection. Local suite: 203 passed / 2 real-core modules skipped. Rerun full Linux/Windows CI with the real pinned kernel and PDF dependency.
Scope
Two isolated, opt-in components under
extensions/decision-gateway:Current head:
09b1d9c6c7177b58c0ddddc3e7eaa076ea0f2607.Commits: advisory SDK
4dbff68d481ecca9fdc7560669a9bee4516a5958, initial autopilota199c971fada5e17570e4f3d651639de3790db92, Windows portability fix09b1d9c6c7177b58c0ddddc3e7eaa076ea0f2607.No core/control-plane Planner, existing API, deployment, secrets or main-branch changes. PR remains draft; no merge or deployment requested.
Executing workflow
init,run,watch,demoCLI. Two actual demo passes with real files/DB, no live model or paid API. Original advisory documentation preserved asDECISION_GATEWAY.md.Verified current-head CI
Workflow: https://github.com/amabito/veronica/actions/runs/35112202454
All four jobs and their demonstrations passed. This tests GitHub's temporary PR merge
c7b079c5ca470e3d8b822ced97196c1791c74749, combining the current head with base730f42830ac8ccee553d668b54aa950966b9dcbf, NOT a merge to main.The one common skip tests behavior when core is absent, whereas CI installs core. Windows additionally skips three symlink fixtures requiring optional privileges and one POSIX FIFO fixture. The seven actual-core Autopilot tests executed, not skipped. Both Autopilot job logs were retrieved and inspected. Codespell also passed; Claude review is skipped because the PR is draft.
Real core is 3.10.0 from exact source
d03aa2fcba32dadcb9a8f22b52ab402af7829ef7.Initial Windows CI exposed false source-change detection. The fix compares all identity/size/mode/link-count/timestamp observations through fstat on live handles, not mixed fstat/path-stat implementations. No identity validation was removed. Eight additional regression cases cover the portability fix, modified/replaced snapshots and FIFO rejection.
Local/source/package verification
extensionstree3e2372b03aa548974fffc9b6411c7e32b3b73ffdexactly matches the committed tree.Explicit limitations
Fixed service-owned local workflow, not an arbitrary-invoice AI or finished SaaS. No OCR/live model, Excel/external accounting writes, email/push, payment, hosted API, reviewer UI or commercial metering. Document issuer is a content filter, not authenticated sender proof.
Only local hardlink-capable filesystems are intended. Host code/adapters/policy/state are trusted; not a hostile same-user sandbox, multi-host coordinator or tamper-proof audit. File/DB effects are reconciled rather than globally atomic. Review conflicts need operator reconciliation. Audit/report retention caps are finite; archive disk quota management and installed background-service management are not implemented. See README for operational limits.