12 KiB
Ordinary compact source and Text workspace integration
This proposal composes ordinary source-default omission with the published Text workspace. It does not replace the release owner's branch or establish release acceptance. Issue 11 owns this contribution; issue 27 retains release integration. Source-8 analysis composition and Linux verification remain outside this candidate; Linux work is paused at the user's instruction.
Source composition
Production commit d7c065991d3f63cc41341d23a546739de8837ac3 applies the exact
14-file ordinary code/test delta from 74cc0e09119f9fa9e1287988bdd98c4cbf9db79e
to 3d067041d1c8b62bc4b2bd1e2ae81eb2713bf4e2 onto published Text/root
136ed6e5868200165fbb1c2ae8a7230067bf9c1e. Thirteen preimages match, including
seven paths absent on both bases. The only other preimage difference is
lib.rs's independent pub mod analysis_numeric;, retained with the new private
mod source_defaults;. Thirteen resulting files match the ordinary head exactly;
the combined lib.rs additionally retains the numeric module. The original
145,928-byte patch has SHA-256
e319a5151b7e6713880eaaab632f3f1c01aee6df3cd534d85a1c099fb501dcb7.
Follow-up e624d5b9c4f848eff3fba2ed83f9decf959e14d8 brings over the ordinary
normative language-contract delta and regenerates the current teaching example.
The full core run identified the latter dependency: its exact generated-source
assertion still expected verbose defaults. The documented generator produced
30 source files and four JSON files. Twenty-nine source files changed, removing
514 default-field lines; the root entry, all four JSON files, and all 68 historical
trace baseline blocks remained byte-identical. Generation asserts complete
decoded Project equality. The test assertion was preserved.
Strict Docutils 0.23 rendering exposed an existing one-character-short underline on the focused diagram removal heading. Repairing it allowed warning-free HTML generation. Regeneration also restores the root's existing allocation/removal sections that were missing from its previous HTML. No semantic prose from those sections changed.
Verification to date
Windows toolchain: Rust/Cargo 1.98.1, stable-x86_64-pc-windows-gnullvm, LLVM-MinGW
20260826 UCRT, one build job, CARGO_INCREMENTAL=0. Each Cargo run captures its
707 source inputs before and after, including all 71 vendored Iced widget files,
raw logs, process identity, and executable artifact hashes. A captured HEAD with
local deltas is not represented as a clean-commit run.
- The initial combined-consumer attempt stopped before compilation because
num-bigintwas absent from the offline cache. A locked Windows-target fetch installednum-bigint 0.5.1andnum-integer 0.1.47; sources and lock stayed unchanged. - Full core at clean
d7c0659: 536 passed, one failed, one existing opt-in scaling probe ignored, across 46 result summaries. The sole failure wasrelease1_teaching_regeneration_and_shipped_source_are_exact_with_one_intentional_warning. The source-transaction panic messages are deliberate interruption injections in passing recovery tests. - The documented teaching generator completed successfully against the same production inputs, writing to a separate scratch folder. All 34 generated files were compared with the repaired shipped fixture.
cargo test --locked --offline -p oa-core --test release1_teachingagainst the repaired fixture: four passed, including exact source/JSON parity and the one intentional coverage warning. This run capturedd7c0659plus the 29 fixture changes subsequently committed ine624d5b; production was unchanged.- Strict language HTML generation: passed with an empty warning log.
- CLI/HTTP consumers: 12 CLI and 51 HTTP passed, no failed or ignored
cases. The HTTP preservation witness exercises an actual move and server
restart with an explicitly authored empty port-anchor list. The two Windows
storage-refusal messages are expected from atomic-storage failure tests.
This run started at
d7c0659plus the 31 fixture/documentation changes now ine624d5b; all 707 captured inputs remained unchanged through execution.
Actual desktop listing admission, desktop execution, strict workspace Clippy, matching Windows binaries, and native combined-workflow acceptance are not established by the results above. Earlier ordinary-only native and automated evidence remains scoped to its original published inputs.
Independent review
Astra review checked exact Git-blob composition and the source-preserving updater, raw diagnostic coordinates, source publication ordering, warning authority after recovery, rename/history/save ownership, schema-7 boundary, and historical payloads. No actionable source defect was found. Separate follow-up review confirmed all 34 regenerated files and 68 unchanged historical blocks, then checked the scoped reST delta, preserved root sections, generated HTML, and strict-render receipts.
A source-pinned checklist identifies 150 critical desktop declarations: all 89 imported desktop additions, both later recovery-warning fixes, retained selection and departure cases, additional recovery/Save As/rename/navigation controls, and six explicitly ignored probes. This is expected membership only; lexical counts are not executable admission or passing runtime results.
Portable closed-run checkpoint
The evidence package
contains the eight closed captures described above, including failed runs, exact
input snapshots, raw generated outputs, and the source-admission checklist.
Its ZIP contains 81 members with three distinct input manifest/archive pairs:
8,584,848 bytes, SHA-256
f220433f8f6fe99cea762aca98ee471c14411b5f6762745cf91432e6bfaca440.
Run the package's verify.py with Python 3.10 or newer; it requires only the
standard library and the five adjacent package files. It verifies integrity and
receipt relationships without executing archived code or consulting this machine.
The README records provenance limitations and the absence of runtime binaries.
All 707 consumer inputs were independently compared with committed Git blobs at
e624d5b9c4f848eff3fba2ed83f9decf959e14d8 and matched exactly.
Subsequent combined checks and lint repair
The final fixture/documentation state completed the full core suite: 537 passed, zero failed, one existing opt-in probe ignored. Desktop listing and execution have exactly the same 1,185 unique names: 1,179 passed, zero failed, six existing opt-in probes ignored. Independent admission checked all 144 enabled critical checklist cases, all six expected ignored cases and their reasons, five replaced names absent, four retained departure cases present exactly once, and all 24 checklist source-file bindings. These runs use the same 707 input bytes as the successful consumers; full listing and execution are recorded separately.
Strict all-target Clippy then exposed two integration cleanups. The first was
two unchanged test-only helper functions appearing after a test module in
views.rs. The second was the unused internal SymbolEvent::Close: production
already emits captured TextWorkspace(Event::HideDrawer) instead. Commit
f714a25bbcd435941404104ad0cbb0fea3b89149 moves the helpers before the test module,
removes the obsolete event/handler, and switches four existing test sites to the
actual UI close message without weakening their assertions. Current close tests
therefore exercise document/session/visit authority and the presentation boundary;
Query/Back/Choose continue to test source-file authority. Independent review
accepted both changes. No production sender used the removed event.
Strict cargo clippy --locked --offline --workspace --all-targets -- -D warnings
now passes. Its captured HEAD was cb94136 plus those four files, with all 707
inputs unchanged; exact Git-blob comparison binds those inputs to f714a25.
The earlier complete suites remain scoped to the preceding input state.
Affected desktop execution on f714a25 passed: 83 passed, zero failed, one
existing manual source-navigation performance probe ignored, with 1,101 cases
outside the selected scope. The filters cover source-symbol tests, Text workspace
tests, surrounding view tests and the palette/drawer integration cases. The
updated close assertions and both recovery-warning regressions passed. The
matching Windows GUI, CLI and server then built successfully from f714a25 with
the same final inputs. The native workflow is recorded separately below.
The subsequent gate package
preserves these eight closed gates, both failed lint attempts, complete listing
admission, the exact affected-test selection, and the three build artifact
receipts. Its 8,624,040-byte ZIP has SHA-256
b0da6611dd86e83c8f779c025786e473834298f9b9990b19a76b250b61137780.
Independent review verified all 50 stored members against raw captures, source
relationships, the safe read-only verifier, and prospective Git-clean outer bytes.
Native Windows workflow
The combined GUI built from f714a25 ran from 14:16:18 to 14:32:24 UTC on
2026-09-13 and closed with exit zero and empty stdout/stderr. Its 117,674,496-byte
executable had SHA-256
f7405a95a499c31972934b8efdd8a37ee3981cefc5b2b7c82a4f16c4e5a935ed
before and after the trial, matching the captured build receipt and final 707
inputs. The original 451-byte input remained unchanged.
Computer Use exercised creation of a new activity in Model explorer, its compact
included declaration in Text, Save As, a graphical move, model Undo and Redo,
a second Save As, New, and reopening that saved model from Home. The move changed
the source x coordinate from 120.0 to 190.0; Undo restored 120.0 and the saved
state, and Redo restored 190.0. The authored empty port_anchors field, spacing,
comment and include remained intact. Reopening showed the same 190.0 source
coordinate and the new activity.
The Problems drawer navigated from a current warning to the included activity at line 2. Inserting a temporary comment removed the old warning rows and underlines while reporting drafts pending. Apply all restored the four warnings with the included declaration at line 3; selecting its warning highlighted that updated declaration. Undo model change removed the comment, restored line 2 diagnostics and returned the saved state before normal exit. These observations establish visible invalidation and refresh; they do not simulate delivery of a previously captured stale UI message. Automated authority regressions cover that separate case.
An exact-byte oracle checked both saved bundles: each has precisely two source
files, the new activity identity is stable, and their only difference is the
intended x-coordinate change. Both passed arcadia check <entry> --json using the
matching built CLI, without writes or stderr. Each reported the expected four
modeling warnings for two unallocated activities without behavior context and
zero errors. The checks do not assert equality of the entire in-memory Project;
saved bytes, CLI validation, GUI observations and process receipts are distinct
evidence. Original screenshots retain intermediate file-dialog states. The
operator encountered an unavailable UI Automation value-setting call, reported
in the tool transcript rather than the screenshot archive; the exact intended
path was visibly verified before saving.
Independent native review inspected 25 original frames, checked all 49 capture metadata records, and independently reconstructed the source-byte oracles and receipt relationships. It found no functional defect or source corruption. Its one evidence-attribution wording correction is resolved above. The review does not certify exhaustive accessibility, Linux, source-8 composition or release readiness. The raw trial and review are in the native evidence package.