PolicyWatcherPublic evidence laboratory
Experimental programme

Engineering notebook / 11

Engine 6Preview

A clearer path from source to evidence.

Engine 6 Preview is being developed and tested to make policy retrieval, comparison and validation more traceable. This page opens the design for inspection.

Architecture

Latest research / 7 November 2026

Engine 6 Preview r3: private deployment, visible evidence

PolicyWatcher keeps its stable 5.5.0 service while Engine 6 Preview r3 advances in a separate authenticated workspace. The 7 November verification records a deployed claim-ledger schema and one bounded Apple run. Completeness, semantic accuracy and full 500-policy/day operation remain unqualified.

Private deployment

Private r3 is online with 47 application tables and 22 migrations. Thirteen authenticated checks passed. EngineClaim and EngineClaimEvidence provide the deployed ledger schema; the bounded hosted run did not exercise ledger writes.

Bounded administrative run

One administrative run covering four Apple policies completed in 8.027 seconds. One fresh HTTP 200 capture remained confirmation_pending; three policies were held because source contracts were missing. Completed tasks do not mean four acquired or qualified documents.

Data preservation

Nine official and configuration table hashes remained unchanged across deployment and the run. Both earlier private reports were preserved. Publication and notifications remain disabled.

The run reached neither AI analysis nor the separate verifier. Both claim-ledger tables remain empty. It does not demonstrate semantic accuracy, hosted ledger write behaviour, source completeness, uninterrupted worker recovery or full operation at 500 policies per day.

Stable and Preview: what can you use today?

01

Which version is public?

PolicyWatcher 5.5.0 is the stable public service, released on 2 November. It retains the established scanner. r3 identifies a private Preview revision, not a new stable release.

02

Can I try Engine 6?

Preview r3 requires administrator access in the separate environment. Anyone can inspect the architecture, evidence and limits here. Experimental scans, reports and results remain private.

03

Are 500 policies per day qualified?

No. The local trial on 500 candidate endpoints attempted 498 retrievals, accepted 383 responses and produced 342 extractions. It did not include the full AI pipeline and does not qualify complete hosted operation.

Three questions guide the experiment.

01

Is this the complete policy?

Check the document identity, required sections, language and final passage against a reviewed source contract.

02

What supports this conclusion?

Keep frozen captures, exact quotations and a separate verification step connected to each proposed change.

03

Can the work recover safely?

Save tasks, attempts and checkpoints so interruption does not erase progress or publish a change twice.

01 / Architecture

Evidence moves through explicit boundaries.

Official sources enter a private working area. This diagram documents the full engine architecture, including its publication boundary. The private preview records observations with publication and delivery disabled. Retrieval, AI analysis and delivery have separate responsibilities.

Architecture: official sources enter a persistent queue, retrieval and source checks. Frozen evidence feeds comparison, analysis and verification. Review holds uncertain cases. An atomic commit creates public evidence, followed by a separate notification queue.
Official inputs, private working evidence and the publication boundary.
Read the diagram as text
  1. Official source

    Direct HTTP, HTTP/2 and a configured browser renderer supply bounded retrieval paths. Archive captures do not attest current live availability.

  2. Private work and evidence

    Durable tasks, per-origin backoff, frozen artifacts and checkpoints preserve the retrieval and reasoning trail. Observation and publication keep separate policy state.

  3. Publication boundary

    Complete, supported changes may commit automatically at lower impact. High impact requires review; missing or uncertain evidence remains held.

  4. Public record and delivery

    The baseline, version, change record and queued notification event commit together. Delivery happens later and checks subscription preferences again.

02 / Decision flow

An HTTP success is the start of the checks.

The change path requires two fresh captures in distinct runs, separated by at least one hour and no more than seven days. A 304 response can revalidate a stored representation; it cannot confirm a new change.

Decision flow: check the source contract and captured document; reject incomplete evidence. An unchanged baseline records a verified check. A candidate change needs two independent captures, a comparable baseline, clause comparison, exact claims and verification. Uncertainty stays held; high impact needs review; supported lower impact may publish.
Green: verified outcomes. Amber: waiting or review.
  1. 1

    Check the source

    Missing contract, source drift, incomplete content or uncertain language → hold and record the reason.

  2. 2

    Compare with the baseline

    Unchanged content → record a verified check. Missing or incompatible baseline → review before comparison.

  3. 3

    Confirm the candidate

    A matching fresh capture in a different run confirms the candidate. A retry or a conditional 304 response does not count as a second capture.

  4. 4

    Explain every changed block

    The analyst must cover the complete delta with exact old/new quotations. A separate verifier assesses every claim and both language versions.

  5. 5

    Apply the publication gate

    Unsupported or uncertain claims → hold. Verified high impact → human review. Complete supported lower-impact changes → atomic commit when publication is enabled.

Human approval does not waive missing evidence. Source or extraction-baseline repairs have their own review path. A purely presentational extraction change does not become a provider policy-change alert.

03 / Entity relationships

The relationships behind a recorded change.

This is a conceptual map of the implemented preview schema. A solid line is an explicit database foreign key; dashed lines are application-managed references, including identifiers in checkpoints and evidence payloads.

Entity map showing EngineRun and EngineTask connected by an explicit one-to-many foreign key. Dashed logical references connect tasks, attempts, artifacts, source contracts, per-mode policy state, reviews, cache, origin scheduling, public changes and outbox events.
Solid: database foreign keys. Dashed: application references.
r3 schema: EngineClaimEvidence references EngineClaim with a foreign key; other references are application-managed. The bounded run created no rows.
r3 extension: deployed schema, hosted writes still unqualified.Download diagram SVG

Scroll horizontally to read every column. Keyboard: focus the table area and use the arrow keys.

The relationships behind a recorded change.
EntityWhat it recordsRelationship / identity
EngineRun → EngineTaskA requested run, immutable channel/configuration metadata and its resumable work.Explicit runId foreign key; one run has many tasks.
EngineAttemptEach claimed task stage and its outcome.Logical taskId; attempt history is separate from the current task.
EngineArtifactFrozen captured or derived evidence with integrity checks.Content-addressed ID; logical references from checkpoints and evidence payloads.
EngineSourceContractReviewed expectations for one source document.policyId identity; logical relationship to Policy.
EnginePolicyStateDue time, last verified state and candidate confirmation.Composite identity (policyId, mode); observe and publish are separate.
EngineOrigin · EngineHttpCachePer-origin pacing and eligible conditional representations.Origin / cache-key identities; cache logically references an artifact.
EngineClaim / EngineClaimEvidence (r3)Proposed claims, verifier verdicts and exact before/after quotation offsets. The bounded hosted run created no rows.claimId is a database FK with cascade deletion; taskId, policyId, reviewId and changeId are application references.
EngineReviewFrozen evidence, reason, decision and review history.Unique taskId/evidenceKey; logical policy, artifact and change references.
Policy · PolicyChange · EngineOutboxPublic baseline, committed change and deferred delivery.PolicyChange → Policy is an existing FK; outbox changeId is an application reference.

11 November: Fable audit, r4 fixes and remaining limits9 November: real API results, failures and worker diagnosticO2 assessment: evidence, counterexamples and Gemini/GLM reviews (7 November)

04 / Validation

What the evidence currently establishes.

Recorded verification, updated 11 November 2026. Historical regression and campaign results are retained. Local production-mode and generated standalone-server checks are reported separately from hosted verification and production accuracy.

11 November: independent Fable audit

29 numbered findings retained with a remediation register

Read-only model-assisted inspection, not execution or certification. The original report and the subsequent patch review distinguish bounded fixes from open research gates. O2 remains open.

11 November: r4 remediation candidate

Assessment reuse, durable failure reviews and consistent backup export

1,624 local tests passed, 14 skipped. The independent patch review exposed two regressions, reproduced and corrected: SDK compatibility and recovery after an acquisition hold. Sensitive-source routing, bounded provider diagnostics and administrative readiness were strengthened. This is a new candidate, separate from hosted r3; no r4 deployment, live semantic result or 500-policy/day qualification is claimed.

9 November: real API semantic trial

6 analyst outputs · 1 table-context hold · 0 verifier verdicts from 11 attempts

Twelve authored synthetic cases, 17 generation attempts, no retries. Verifier: 8 HTTP 504, 2 HTTP 503 and 1 AbortError. Unavailability is not a correct rejection or a semantic verdict. Applicable-law risk was flagged despite model impact 5; consent wording remains disputed in advisory review.

9 November: isolated durable-worker diagnostic

Analyst succeeded; verifier HTTP 504; task queued at verification

Controlled HTML transport and an explicitly rewound lab timer, not live source acquisition or elapsed observation days. Policy, snapshots and baseline preserved; zero public changes, notifications or claim-ledger rows. The workflow did not complete.

8 November: dedicated free API access

Two local SDK connectivity probes passed; Free tier reconfirmed on 9 November

A dedicated local credential enables bounded experiments. This does not configure hosted r3 or qualify semantics. Observed quotas: analyst 500 requests/day, verifier 20. The latter cannot support 500 changed documents requiring verification per day; 500 unchanged checks are a different workload.

7 November: O2 assessment started on r3

120 baseline tests passed · 5 new private-ledger controls passed

Offline diagnostics and injected model responses, not live semantic accuracy. Unsupported, uncertain, missing-verdict and same-model cases retain private evidence without public effects.

O2 completeness and semantic counterexamples

4/6 incomplete document variants pass the contract · 6/6 false interpretations pass structural checks

An integral linked annex remains outside the acquired parent. Exact quotations do not establish entailment; the live verifier is still unmeasured. Table-span markers and hidden exception text were retained, so those fixtures do not prove text loss.

O2 hosted capacity prerequisites

113 policy rows · 1 source contract · no configured API model pair

Read-only check at 20:58 UTC: no Gemini credential or analyst/verifier model in deployment configuration, zero claim-ledger rows. Browser Gemini/GLM reviews are advisory. General completeness, semantic accuracy and 500 fully processed policies/day remain unqualified; free-only access is required.

7 November: private r3 deployed

13 authenticated checks · 47 tables · 22 migrations

One bounded Apple run: 8.027 seconds, one HTTP 200 held pending confirmation, three missing source contracts. No inference or claim-ledger rows; publication and notifications disabled. Source completeness and full 500-policy/day operation remain unqualified.

6 November: 500 distinct candidate endpoints

498 attempted · 383 transport accepted · 342 extractions · 584.979 seconds

Local Mac acquisition/extraction only, 305 service names and 290 origins from pinned Open Terms Archive metadata. Two endpoints skipped after origin backoff; all failures retained. No models, renderer or reviewed contracts. This does not qualify 500 fully processed policies/day.

6 November: independent Apple browser comparison

12 sections expanded · 81/81 visible leaf occurrences in Preview · 6/81 in the stable extractor replay

One document, later independent browser request and occurrence-aware normalized comparison. Stable replay hash matches the hosted receipt. Linked documents and PDF copies are outside this sample; no general completeness approval.

6 November: source-contract falsifiers

4 incomplete synthetic documents pass the boundary contract; 2 missing-heading/terminal controls reject

Missing middle clause, repeated occurrence, table row or section body can survive title/heading/tail/length checks. This demonstrates a contract limitation, not a proven live omission or public false alert.

6 November: private administrative execution

4 Apple policies · 1 capture/comparison · 3 missing-contract holds · 12 follow-up checks passed

Completed in 7.802 seconds, observe/silent. Eight official/configuration table hashes, release metadata and the previous report were preserved. No AI inference or public policy change. Main candidate separately passed 120 engine tests; 500 injected expired leases recovered in 1.062 seconds.

Table-encoding follow-up candidate

1,569 local tests passed · 14 skipped, including four new table regressions

An initial CI failure caught a stale whole-engine manifest; it was regenerated without weakening the guard. The encoding correction is separate from the hosted artifact and requires a new live cohort. No injection exploit was established.

Actual private hosted Preview

47 checks passed; Apple HTTP 200 and a completed private comparison

One source contract was eligible; three other policies remained held. Public records and notifications were unchanged. An earlier read timeout is retained; sustained hosting availability and full coverage remain unqualified.

Hosted-build candidate regression

1,565 passed · 14 skipped; 22 generated standalone-server checks passed locally

Standalone startup, HTTP/worker identity and missing-flag privacy verified. The first hosted build failure and the corrected local harness failure remain recorded. This row does not establish online availability.

Private preview HTTP and worker checks

44 checks passed in an actual local production-mode Next runtime

Authentication boundaries, shared HTTP/worker identity and observe/silent restrictions were checked. Initial HTTP shells do not demonstrate hydrated browser controls; these local checks do not verify hosted deployment.

Live Apple privacy capture

HTTP 200 · eligible against the reviewed contract · 28,124 preview characters versus 2,089 stable characters

Both extractors used the same response. Outcome: confirmation_pending. No AI calls; official policy, baseline, public history and outbox records were unchanged. More characters do not prove completeness or correctness.

Recovery after an actual SIGKILL

New worker ownership after 91.7 seconds; queued work completed and the earlier report survived

The process was killed after the live run had completed. This checks persisted queued work and leadership expiry, not interruption during a network fetch. Official records and notification events remained unchanged.

Automated regression suite

1,469 passed · 14 skipped

Synthetic fixtures do not measure retrieval quality on the live catalogue.

Engine-specific tests

120 engine regressions + 16 daily-campaign checks

A 500-record scheduling test is not 500 successful Internet retrievals.

Build and static checks

Production build and TypeScript passed; lint had no errors

15 pre-existing web lint warnings remain; no independent dynamic security audit is claimed.

Administrative workflow

Approval and cancellation verified against an isolated database

One clearly labelled synthetic policy; no subscriber notifications.

Manual scan channels

14 boundary tests passed; selector, private report and JSON export verified in the browser

Two synthetic local policies: one extraction difference and one unavailable comparison. All policy fields preserved; zero official changes, check logs or notification events. Matching text would still leave completeness unqualified.

Real catalogue acquisition

113 configured policies · 104 HTTP endpoints · 107 attempts in 91 seconds

101 endpoints retrieved; 105 of 109 document scopes extracted. Four scopes failed retrieval/extraction; 79 extracted scopes still have unresolved structural checks. No source completeness is approved. Local Mac, no models or production writes.

Current parser daily campaign

3 valid dates of 3 · 2, 4 and 5 November · 71.894 hours

The bounded temporal target is met. Latest capture: 12/12 direct HTTP 200 in 39.631 seconds, no retry, fallback or 304. On 4 November, 12/12 took 46.168 seconds. This is not source completeness, weekly reliability or 500-source capacity.

Retained failed window: 3 November

11/12 sources · excluded from the daily count

Meta timed out on direct retrieval and HTTP/2 fallback. All 13 attempts and the 162.566-second failed window remain preserved. Today’s success does not erase that failure or add a retrospective day.

Saved source comparison

11/12 text hashes match 4 November · new AWS difference held

The saved AWS text has a new date, AWS Quick naming and AWS assistant Free Tier references in sections 50.10 and 50.13; net increase 52 characters. The earlier section-83 difference remains recorded. Snapshot differences are not legal interpretation, completeness approval or public policy-change notices.

Previous parser daily observations

2 counted windows · 12 sources · 31 October and 1 November, preserved

This earlier cohort remains incomplete and belongs to the previous parser. Its minimum observed span is 20.77 hours. At least 3 distinct dates, 20 hours between windows and 48 hours overall are required. PDF language remains unverified.

Mass recovery simulation

500 expired leases · 4 processes · 0.83 seconds

Expiry was injected in an isolated local database. A crash could leave a completed run marked as active; two reproduced regressions now pass after the recovery fix. VPS and 500-source live capacity remain unqualified.

Model-assisted code review

Gemini 4 High and GLM-5.3 Max reviewed frozen candidates

Review is not execution or certification. Subsequent fixes were tested locally.

Qualification pending

O2 is active; the capacity gate remains closed.

The bounded three-date observation is complete. Daily captures for this gate stop here; the failed 3 November window stays excluded and preserved. Work now focuses on independent source-completeness annotation, PDF language and original bytes, origin freshness, realistic capacity, evidence retention and recovery. The target is up to 500 policies per day; this scale is not yet qualified. Future temporal monitoring requires a new stated question and protocol.

  • Source identity and completeness
  • False change alerts and unsupported claims
  • Retrieval coverage, retries and latency
  • Model tokens and cost per changed document
  • Evidence growth, backup and restore

OCR for scanned PDFs, general PDF structure recovery, automatic source-contract onboarding and automatic evidence pruning are outside this preview. Ambiguous documents remain in review.