Skip to content

feat(pet): add persistent world and work-driven dot forms - #6110

Draft
Hmbown wants to merge 23 commits into
mainfrom
feat/pet-world-qa-20260912
Draft

feat(pet): add persistent world and work-driven dot forms#6110
Hmbown wants to merge 23 commits into
mainfrom
feat/pet-world-qa-20260912

Conversation

@Hmbown

@Hmbown Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner

The pet is one buildable package and one persistent audiovisual world shared by browser, Apple, Android and TUI Watch. The same 980 dots become reasoning knots, code strands, filesystem branches, browser layers, circulating traffic and open decision junctions, then return to the whale at rest. Existing expression-version-1 recordings retain their behavior.

The shared core owns fixed-clock behavior, named random streams, persistent pod identities, interaction history and score scheduling. Each host owns its controls and audio output. Foreground /workbar watch observes accepted Engine metadata without starting a turn or recording prompt/tool payloads; the completion whale lives in the existing underwater scene. Optional Watch sound uses FFplay, with default-off and hidden/quiet/modal suspension. Terminal controls are translated in 15 complete locales.

Browser and native hosts preserve source-specific habitats, current particle state, random streams and score. They archive completed history before advancing their active recording, so long sessions remain bounded without resetting the world. Native autosave/import is limited to 8 MiB; exports and browser import support 64 MiB. Failed saves retain the running world and preserve existing files. Earlier recordings can be reopened or exported.

The standalone recorder reads the existing local Runtime journal or an imported trace. For current Runtime observation it requires explicit replay progress: durable history and the queued live tail must drain before old requests may become current. Broadcast lag returns it to unknown during catch-up. Older Runtime/SDK combinations without this capability stop input explicitly; build the Runtime and recorder from this source together. Default SDK consumers keep the original event-only stream. Its incremental importer keeps unfinished lifetimes and a 16-second recurrence window under 250,000-event and 64 MiB metadata caps. Recorded JSONL rotates at the same watched pathname, preserving completed segments on disk. --resume validates and archives the previous tape, continues archive numbering, and starts unknown at that path. A private empty OS-lock sidecar excludes simultaneous writers and releases on process death. Incomplete tapes and external changes are rejected without overwriting history.

Apple observes file appends and replacement. Android follows a user-selected local document through bounded IO on a worker; the browser uses a user-granted file handle. All hosts use the same live cursor: existing bytes establish a baseline, and only advancing input becomes an observation. Old requests and onsets cannot reappear after suspension or producer restart. Device files are not automatically synced from the desktop recorder.

Apple transfers checked Float32 PCM directly from JavaScriptCore, rebases native playback after stalls, and mutes sound failures while preserving the world and recording. The score and sample generator remain shared.

All source, wrappers, locked dependencies, generated native resources and build commands are in this repository. No sibling or investor checkout is required.

Closes #6109

Validation

Current head: 9c80de6b01f35353dfa970e39fd97ff966e87531, tree c55ce52c9ba2dfbe611a8510d983375864c49847. Product sources are unchanged from ee35326e; the final two-file follow-up adds Apple CI execution and an app artifact.

  • Current local source: 63 pet tests, required 66 package + 14 SDK + 446 web tests pass with zero failures/cancellations. Web check passes with two existing warnings. All 168 published paths match the tested source archive.
  • Current native bundle: 12 TUI Watch tests, 11 Android instrumentation tests together, APK assembly and lint pass. 11 Apple checkpoint/live-file/storage workflows and 27 exact PCM comparisons pass, including malformed-buffer guards; final macOS build/sign/verify and iOS Simulator build pass. Bundle digest: 979ac780ec51c359d9c5fa523c2bbf171af6ba73fb2235e150c36d840d40aeb1.
  • Actual AVAudioEngine playback completes 150 frames with a forced 750 ms stall; all 12 onsets remain scheduled in the future (42–118 ms). The previous output drifts to 1,703 ms late. A PCM failure stops the previous Host; the current Host mutes sound, continues from 400 ms to 933 ms, and exports its recording.
  • Synthetic audio profile: 122 voices over 80 seconds; audio-frame p95 70.6 ms → 23.4 ms with identical final particle digest/sample peak. The final run had six wall-time outliers, worst 738 ms, on the shared machine. No hard frame-time or subjective listening guarantee is claimed.
  • Codewhalebot independently passed 63 pet tests and checked generated resource identity on product commit ee35326e, with no remaining concrete source defect. Its current 9c80de6b two-file review confirmed the CI/artifact wiring. A timeout concern was checked against the completed 1m40s hosted run; no source change was needed. Native hardware execution remains a separate author receipt.
  • Current-head macOS CI passed 63 pet tests, 11 actual Apple workflows and 27 exact PCM ranges, built/signed the app and uploaded it. The macOS app artifact was downloaded and its archive integrity, ad-hoc signature, ARM64 executable and native bundle digest verified. Windows recorder and portable CI passed. Android CI passed all 11 device tests plus APK/lint; its APK and reports are available. The downloaded APK passed archive integrity and its native bundle matches the verified digest. All four Pet conformance jobs pass. Five full-product Rust test/lint/analysis jobs remain in progress; no complete repository-wide CI verdict is claimed.
  • Unchanged Runtime source: three opt-in progress tests plus the existing event-only handoff pass. SDK declarations compile. The old transport reproduces a stale historical request while a delayed answer remains in replay; the corrected transport stays unknown.
  • Active native chain passes: typed synthetic Engine event → actual Runtime journal/SSE → recorder process → Apple DispatchSource/PetHost → shared core. A fresh request appears at 1,233 ms and clears at 2,000 ms after the answer. Prompt/question/answer text is absent from recordings. No provider call or production test backdoor was used. This is local file-delivery evidence.
  • Existing separate receipts: 380 TypeScript/Rust/Swift/Kotlin checkpoints, 310 Whalesong consumer tests, real TUI PTY interaction, macOS process restart with exact 450-tick continuation, and iOS Simulator restoration/export/recovery. Core algorithms are unchanged by this audio transport slice.
  • Long-session fixtures: 30 synthetic Still hours, 263 immutable archives and active files below 0.45 MB; 260,001 real loopback SSE records with nearly 29 hours of synthetic timestamps under bounded retained metadata. These are synthetic durations, not day-long native/provider runs.

Build instructions: pet/README.md, Android, QA.

Limits

Archives remain on disk. Android SAF destination copying is non-atomic: a destination IO failure can leave a partial export while the current world remains available. Invalid or incomplete recorder files are retained for recovery and require a new output path.

This remains a draft. The forms are authored expressions of measured work. The original A–F implementation/evidence map is in pet/QA.md. Mobile hosts consume local files; automatic desktop-to-phone transport is not included. Current macOS popover inspection and physical-device listening/battery quality remain unverified. No merge, release or deployment is requested.

CodeWhale Bot added 3 commits September 12, 2026 06:06
Consolidate the canonical pet telemetry, world, score, replay and checkpoint
sources with portable web, Rust, Swift and Kotlin hosts. Embed the same core
in foreground Watch, preserve unknown coverage and native checkpoint files,
and supply reproducible build and QA instructions.

The whale is the home form of a field of dots. Richer work-driven forms are
follow-up work, not a claim that this foundation completes the product.

Validation:
- Fresh source archive: pet typecheck/build, 33 tests passed, 0 failed.
- Fresh source archive npm test: 66 package + 12 SDK + 446 web passed, 0 failed.
- npm run check:web: passed production build with public GitHub release fetch.
- TS/Rust/Swift: 190 matching checkpoints; standalone ratatui build passed.
- Packaged Apple checkpoint/storage/host workflows: 8 passed, 0 failed.
- Legacy local Whalesong consumer check: 306 passed, 0 failed.

Full Rust suite, hosted CI, authenticated live attachment and release
qualification remain separate, unclaimed evidence. See pet/QA.md.

Refs #6109
Apply the two rustfmt corrections reported by PR #6110 CI on 5450b09.
The exact candidate source archive now passes cargo fmt --all -- --check.
No runtime behavior changed. Pet CI on the parent passed 33 tests and
190 TypeScript/Rust checkpoints plus the standalone ratatui build.
The same dots now form reasoning knots, code strands, filesystem branches,
browser layers, traffic circulation and open human-input junctions. New
habitats use expression v2; legacy recordings keep their original v1 motion
and behavior. Reject unknown and mismatched versions atomically. Preserve
replay duration on browser reload and remove approach-to-owner presentation.

Fix the RNG method name and redundant byte clamp reported by hosted clippy,
and update the dock golden for the added Watch tab.

Validation: npm test passed 66 package + 12 SDK + 446 web tests, 0 failed;
npm run check:web passed in the extracted candidate with local dependencies.
Pet check: 37 passed, 0 failed. TS/Rust/Swift/Kotlin: 380 matching checkpoints
across v1/v2, with pinned v1 digests unchanged. Eight Apple host workflows
and the iOS Simulator build passed. QuickJS v1/v2 checkpoint hydration plus
180 continuation frames passed for wild/demo; live resume remained unknown.
Generated native resources match the candidate tree; cargo fmt check passed.
Full workspace clippy and fresh hosted CI are pending at commit time.

Refs #6109
@Hmbown Hmbown changed the title Add deterministic audiovisual pet world and TUI Watch feat(pet): add persistent world and work-driven dot forms Sep 12, 2026
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Grokbot completed an independent advisory pass on the initial pet commit 5450b09ff3a56fd110a5edaf609d7e4561627ab9 (tree f3a3ec6a682aadb8d5e31fae1704f6fee37dcde0), verified from the public source extract.

  • Install and native-bundle regeneration passed with byte-identical resources.
  • Its full pet check on Node 20 produced 32 passed, 1 cancelled, 0 assertion failures; Node 20 is below the package minimum. The cancelled Runtime SSE test passed individually in 3.4 seconds on Node 22.19. This was not a complete Node 22 suite rerun.
  • On Node 22, 190 TypeScript/Rust checkpoints and the standalone ratatui build passed.
  • Actual browser checks covered wild/demo, Pause/Play, Sound controls, Still semantics, and saved-habitat reload. Export initiated a download, but the filename was not verified. No listening-quality claim.
  • Corrupt/unknown imports were blocked by its file picker; local tape reattachment and full TUI execution were untested. Watch review was source-only.
  • It found remaining approach-to-owner wording and old Attention/Feed accessibility copy. These are corrected in the versioned field update.

Grokbot has now been assigned a second bounded QA pass on exact commit 334c7200572bd9f914906dbd13269da8bb00ea02, using Node 22 and the new 37-test/380-checkpoint coverage. Results pending. This QA does not qualify a product release.

Replace the old iOS approach-to-owner introduction. Swift and Android
accessibility descriptions report awaiting input only for an observed human
channel, rather than interpreting any high salience as needing the owner.

Validation: npm test passed 66 package + 12 SDK + 446 web tests, 0 failed;
npm run check:web passed. iOS Simulator build succeeded. Android Compose
compilation remains unverified; this changes its description source only.
The particle/world/score sources and generated native bundles are unchanged.

Addresses Grokbot QA findings on #6110. Refs #6109
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Independent Grokbot pet QA is complete.

Runtime/build review used exact commit 334c7200572bd9f914906dbd13269da8bb00ea02, tree 3bdceb923c188e84c76737845476facfec9a2b5a, extracted from the public remote with Node 22.19:

  • 37 tests passed, native resources regenerated byte-identically, 380/380 TS/Rust checkpoints matched, and pinned legacy v1 goldens remained unchanged. Standalone ratatui built.
  • Actual browser inspection confirmed a reasoning knot/ring, filesystem branches, stacked code strands, radial tool form, human split junction, and three separate agent pods.
  • Still retained a semantic pose while the clock advanced; Pause froze it. Reload retained the demo's 1:20 range.
  • The same synthetic activity at 0:13 retained a flowing whale gait when imported as v1 and produced strands under v2. An unsupported v3 import showed the version error and left the v1 world intact.

Grokbot separately verified current head e69e99b7f55aa16b803ff20a064ed9036445d013, tree ce385d886357e0cab2fcdcd82c837152a695127b: exactly three mobile-copy/accessibility lines changed from the tested transformation commit, resolving all three wording findings. It did not rerun native hosts or the unchanged simulation suite on that copy-only diff.

The final head's GitHub Pet conformance job independently passed 37 tests + 380 checkpoints (run); the local product Node gate and iOS Simulator build also passed. Local Swift/Kotlin and QuickJS proof is recorded separately in the PR description.

Grokbot did not execute a full TUI Watch binary, live tape/Runtime attachment, Swift/Kotlin hosts, or a browser-category span in the default demo. Local browser QA separately inspected browser/network/communication forms with an imported synthetic tape. Android app, macOS popover and listening/power quality remain unverified. Broader product CI is still running; this is advisory QA, not a release qualification.

CodeWhale Bot added 2 commits September 12, 2026 07:51
Default-off Watch sound streams canonical stereo PCM to one optional ffplay
child. Hide, quiet, stale presentation and mute cancel output without
stopping the world. Bound and discard delayed or excess packets; isolate
player/PCM failures from telemetry and persistence. Translate all controls.

Validation on this tree:
- npm test: 66 package + 12 SDK + 446 web passed, 0 failed.
- npm run check:web: passed (2 existing lint warnings, 0 errors).
- Isolated exact audio/PCM source: 5 passed, 0 failed.
- Actual FFplay output: three 4-second busy-host runs passed after queue fix.
- 4 strings translated in all 15 complete locale packs.
- Full Watch suite: 11 passed, 0 failed before final queue-full recovery fix;
  final full Rust rerun/build and PTY acceptance are still in progress.

No world, score, replay format or generated native bundle changes.
Resolve the hosted needless_range_loop lint without changing sample order,
validation, queue behavior or the shared score.

Validation on this tree:
- npm test: 66 package + 12 SDK + 446 web passed, 0 failed.
- npm run check:web: passed (2 existing lint warnings, 0 errors).
- Workspace clippy, all targets/features with repository lint allowances: passed.
- Exact audio/PCM source tests: 5 passed, 0 failed, byte-identical core PCM.

Parent 6dbec2c passed 11 full Watch tests, 1 command test, 51 localization
tests, full binary build, and capture/actual-FFplay PTY lifecycle walkthroughs.
This follow-up changes only three interleaving lines in audio.rs.
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Grokbot completed the bounded audio QA on 6dbec2c9b772ba8da54a76b573fcde0ea8e2dab3 and separately confirmed the three-line iterator fix in dd0612db2f92d1af6a0642863e87c87000cefdbd (tree 418a44faab3eb7a8e8a5ec4ca272625792ca5c50).

  • Independent host: Debian/Linux x86_64, Rust/Cargo 1.98.1, about 15 GiB RAM and no swap.
  • An isolated harness imported the actual audio.rs from each SHA: 4 passed, 0 failed on each. These are the same four tests across revisions, not eight distinct tests. They cover PCM guards/interleaving/backlog, cancellation and child reaping with a blocked pipe, and missing-player failure. The helper test itself opens no audio device.
  • Source review confirmed default-off behavior, bounded full/stale packet dropping, cancellation on mute/hide/quiet, preservation of world advancement after sound failure, and the four status strings in all 15 complete locale packs. No additional independently reproduced product defect was reported.
  • Its full product test link was stopped at roughly 7.9 GiB rustc RSS with the host near its memory limit. No product test count is claimed for that attempt. It did not run the full TUI binary, PTY, actual FFplay, localization suite or QuickJS audio-cursor test.

Local evidence remains separate: 6dbec2c passed 11 Watch + 1 command + 51 localization tests, a full product build, and both capture-player and actual-FFplay PTY walkthroughs covering mute, hidden/reopened Watch, quiet/modal suspension, missing-player warning and continued checkpoints. The final dd0612d iterator change passed 5 overlapping exact-source audio/PCM tests, the 66 package + 12 SDK + 446 web test gate, production web check, and full workspace clippy across all targets/features. The sample-fidelity assertion is byte exact.

The new hosted CI verdict remains pending. These are development/QA receipts, not a release or merge approval.

Build a Compose app with the canonical QuickJS world and score, native stereo
AudioTrack, lifecycle controls, replay import/export and recoverable atomic
habitats. Verify the Kotlin renderer against the shared world and add an
Android emulator CI job with downloadable APK and reports.

Keep FNV-1a digests exact using integer halves in engines without BigInt. Native
hosts now accept checkpoint-free exports in their recorded expression version.
Use 30 Hz chunks in the PCM fidelity test; 400 ms renders could expire the
presentation deadline under Windows CI load. Production expiry is unchanged.

Validation on tree 9aa56e2:
- npm test: 66 package + 12 SDK + 446 web passed, 0 failed.
- npm run check:web: passed; two existing lint warnings.
- pet check: 38 passed, 0 failed; 380 TS/Rust/Swift/Kotlin checkpoints match.
- Android assemble/lint and 5 device tests: passed, 0 failed (API 35 ARM64).
- Actual TUI Watch: 11 passed, 0 failed; isolated PCM/sink subset: 5 passed.
- Apple: 8 checkpoint/storage workflows passed, including two-hour restore.
- rustfmt and actionlint: passed.

No physical-device listening/power acceptance or real Runtime attachment claim.
Publish pause and motion controls from the owning world worker after the current frame and output settle. Stop audio when a newer pause, background or mute request arrives. The lifecycle test waits for the applied state before checking frozen particles and saved time.

Require an observed human frame, pending wait and attention before Android announces input pending.

Validation: Android assembleDebug, connectedDebugAndroidTest and lintDebug passed (5 tests, 0 failures, API 35 ARM64). npm test passed: 66 package + 12 SDK + 446 web tests, 0 failures. npm run check:web passed with 2 existing warnings. Hosted CI will qualify this commit separately.
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Android QA receipt for 596d3f9d0a960c245d1a613944e186e2f4062342 and its three-file follow-up, 516fea6f06e9ace9a22dff460d8354320d91ca00 (tree e7f1307bd85aed0321b1bcc426daa44772387a38).

Codewhalebot independently ran npm --prefix pet ci --ignore-scripts, npm --prefix pet run check, npm --prefix pet run sync, and the offline ./pet/verify.sh --no-swift on the first commit. Result: 38 tests passed, 0 failed; 380 TS/Rust checkpoints matched, including pinned version 1 goldens. Both native JavaScript bundles and the demo remained byte-identical after regeneration. Its environment was Linux x86_64, Node 22.19.0, npm 10.9.3, Rust/Cargo 1.98.1, approximately 15 GiB RAM and no swap. It had no JDK, Android SDK or emulator; it did not perform native Android builds, device interaction or the full product gate.

Grok's Android source review identified the missing observed-human guard on the input accessibility label. Its initial suggestion to reproduce that through a non-human wait in Event demo was incorrect: the canonical bucketer derives waiting from human events. Grok explicitly corrected that source guess; it was never a device receipt. The new guard also handles imported flat buckets and uncertain frames. Grok inspected the exact three-file follow-up and found no remaining source defect in the label or pause/background ordering. It did not rerun unchanged shared-core tests or claim the local native results as its own.

Hosted Android at 596d3f9 ran five tests: four passed and the lifecycle test failed because an in-flight frame changed the scene after Pause was already shown as applied. The follow-up acknowledges Pause on the owning worker after the frame, output and save settle; instrumentation waits for that acknowledgement. At 516fea6, the GitHub Android job passes APK build, lint and all five Android 15 x86_64 emulator tests, zero failures. The run contains the codewhale-pet-android APK/report artifact.

Local follow-up validation also passed APK/lint and five API 35 ARM64 instrumentation tests, plus npm test && npm run check:web: 66 package + 12 SDK + 446 web tests, zero failures, production web build passed with two existing warnings. Physical listening/power acceptance remains unverified. Broader hosted product CI is still running; this is not a release or merge verdict.

… timing

Bind the wrapped SSE pipeline to the Runtime cancellation signal so Ctrl+C closes an idle body after garbage collection. Add a real HTTP regression fixture and document authenticated read-only journal acceptance.

Separate the actual TUI PCM cursor rendering from presentation. Compare partitioned samples before wall-clock delivery; retain the production 500 ms expiry, bounded sink, mute and invalid-sample tests. The previous macOS CI run passed 15421/15422 tests; its fidelity check incorrectly required a legitimately stale packet to be delivered.

Validation: pet typecheck/build and 39 tests passed, 0 failed; actual TUI Watch 11 passed, 0 failed. npm test passed: 66 package + 12 SDK + 446 web tests, 0 failures. npm run check:web passed with 2 existing warnings. Authenticated local Runtime 0.9.13 recording produced 45 contiguous unknown buckets over 18 seconds and exited cleanly in 41 ms; no provider turn was started. New hosted CI and independent QA are pending.
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Grokbot follow-up completed on exact commit 194d0d5cf5e6328a4a53d898fed14c50be906b99, tree 3509b44b756c04fc78be08bb56aee9d0afe0908c, parent 516fea6.

On its Linux host with Node 22.19.0, npm --prefix pet run check passed typecheck/build and all 39 tests, zero failures/cancellations/skips. The new idle-SSE garbage-collection regression passed in 157 ms, using a child with --expose-gc and a real HTTP server that observed the connection close.

Grok also reviewed the Runtime pipeline cancellation and the TUI present/render_samples changes. It reported no remaining source defect: the same abort signal reaches the wrapped stream; cursor advancement does not replay dropped history; the 500 ms target checks before and after rendering and the worker interrupt budget remain in place. The fidelity assertion now compares the actual production renderer's samples before delivery, while existing sink tests retain output-policy coverage.

This was executed Node QA plus Rust source review. Grok did not run the full Watch test link, product Node gate, Android build or private Runtime journal. Local exact-source evidence is separately recorded: 11 Watch tests and the 66 package + 12 SDK + 446 web gate passed; the authenticated 18-second recorder run produced 45 contiguous unknown buckets and stopped cleanly in 41 ms. Fresh hosted CI remains a separate verdict. No merge, release or deployment occurred.

CodeWhale Bot added 3 commits September 12, 2026 10:17
Keep Apple source and preference unchanged when autosave fails, with explicit UI handling for leaving an unsaved visit. Add iOS recording export. All host exports carry the current checkpoint and serialize bounded history slices outside the embedded runtime heap; Android stages the complete export before opening the user destination. Browser imports validate and resume checkpoint-bearing recordings atomically. Native autosave/import remains 8 MiB; recovery exports and browser import support 64 MiB.

The Runtime reconnect fixture now waits for recorded phase evidence instead of assuming its fixed sleep outlasted reconnect and a full telemetry bin.

Validation: pet typecheck/build and 40 tests passed, 0 failed; actual Watch 11 passed, 0 failed; 9 Apple workflows passed; macOS and iOS Simulator builds passed. Android APK/lint and 7 API 35 ARM64 instrumentation tests passed, including an export of 90000 interactions beyond the autosave limit. A 9790159-byte browser recording reopened at its saved 13.2-second checkpoint. The original Apple source plus a test API shim fails the save-conflict regression.

npm test: 66 package + 12 SDK + 446 web tests passed, 0 failures. npm run check:web passed, with 2 existing lint warnings. Hosted CI and Grokbot follow-up on this commit are pending; automatic history rotation and native live-companion acceptance remain open.
Keep the imported browser world alive across source changes and validate an
import once before adopting it. Require explicit Android confirmation before
reopening saved state. Stream the interaction checksum without allocating a
second complete history string; serialized checksum bytes are unchanged.

Validation on this exact source tree:
- npm test: 66 package + 12 SDK + 446 web tests pass, 0 fail.
- npm run check:web: pass, 2 existing warnings.
- Pet typecheck/build and tests: 40 pass, 0 fail.
- Product TUI Watch: 11 pass, 0 fail.
- Apple checkpoint workflows: 9 pass; macOS bundle build passes.
- Android assemble, lint and API 35 emulator: 7 tests pass, 0 fail.
- Browser: 9,790,159-byte recording returns at 13.2 seconds with its code/strike/roll pose.
The evidence section already records the nine passing Apple workflows.
Keep the command instructions independent of a changing test count.

Validation: npm test passed 66 package + 12 SDK + 446 web tests, 0 fail;
npm run check:web passed with 2 existing warnings. Runtime source and native
bundles are unchanged from 49e6df2 (40 pet, 11 Watch, 9 Apple and 7 Android pass).
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Recovery QA is complete for runtime commit 49e6df27e6e135d526630af73004679b404dd81b, tree b88b921c259fedde4220105a46d2232b03caa314. Current head 3972a9ca89d4fa533d8ec0c038c059a48cf1cfbf changes only the QA instructions to remove a stale Apple test count.

Grokbot independently ran Node 22.19.0 npm --prefix pet run check: 40 passed, 0 failed. It reviewed the six-file follow-up and reported no remaining concrete source defect at 17:39:27 UTC. The browser now validates a single candidate before adoption and returns to the same imported world; incremental history hashing retains version 1 checksum bytes; Android explicitly confirms discarded unsaved progress.

Our local runtime evidence: 40 pet tests, 11 actual TUI Watch tests, 9 Apple checkpoint/storage/recovery workflows, macOS bundle build, Android assemble/lint and 7 API 35 ARM64 device tests all passed. The required Node/web gate passed 66 package + 12 SDK + 446 web tests, and check:web passed with two existing warnings; the gate passed again after the documentation-only correction.

CUA browser acceptance reproduced the old reset and verified the fix: a 9,790,159-byte synthetic recording remained at 13.2 seconds in code/strike/roll after leaving and returning. A damaged checksum import kept that world unchanged. Browser error log was empty. The iOS Simulator build and local Files export succeeded on a101953; final shared checksum behavior has current Apple workflow proof. Grokbot did not independently perform our native builds, TUI tests or browser acceptance.

Native autosave/import remains 8 MiB; exports/browser import are bounded to 64 MiB. Android completes private staging before opening the destination, but SAF copying itself is non-atomic: destination I/O failure can leave a partial output while the current world stays in memory. History rotation, long-session performance and remaining native live/audiovisual acceptance are still open. Current-head CI is pending; this draft is not a release claim.

CodeWhale Bot added 2 commits September 12, 2026 11:37
Persist immutable replay segments before advancing each active habitat. Version 2
records an exact origin and absolute telemetry sequences, preserving particle,
random-stream and score continuation while retiring consumed history. Add archive
access on browser, Apple and Android and session-local TUI segment files. Keep
unplayed imported events when changing browser sources and reject failed saves
without discarding the running world.

Validation: pet check 42 passed/0 failed; TUI Watch 12 passed/0 failed;
Apple host 10 workflows passed/0 failed; Android device 8 passed/0 failed,
assembleDebug and lintDebug passed; iOS Simulator build and archive export passed.
Product gate: npm test 66 package + 12 SDK + 446 web passed/0 failed;
npm run check:web passed with 2 existing warnings.
30-hour synthetic Still simulation: 263 archives, active file <0.45 MB,
exact restoration after every rotation. Browser archive/reopen and late-segment
seeking verified. This is not animated device, provider or release acceptance.
Queue explicit browser archives after an in-flight save so changing sources
retains inputs accepted during that save. Preserve the cancel path for an actual
save failure. Align Android checkpoint clock, phase and jitter bounds with the
shared core, and show browser replay times in hours for long segments.

Validation: pet typecheck/build and 44 tests passed/0 failed. The previous
5c70db4 controller fails the new autosave overlap regression at the expected
false save-failure prompt; its real-failure cancellation control passes.
Android assemble/lint and 9 device tests passed/0 failed, including long-clock
native import and continuation. Browser reload displays 30:00:00 and restores
its segment. npm test: 66 package + 12 SDK + 446 web passed/0 failed;
npm run check:web passed with 2 existing warnings.
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Grokbot independently reviewed the recording-segment work and its follow-up on exact published source.

  • Initial revision: 5c70db41f02487594329036958b5d970d6b7cd3c, tree cc4cc0e775a2f2bd42ba849ca9d94152f96ab240. Node 22.19.0 npm --prefix pet ci --ignore-scripts and npm --prefix pet run check: 42 passed, 0 failed; generated native bundles match.
  • It found that a browser source change during autosave could treat the pending save as a failure and omit the full outgoing archive if the user left. The compiled 5c70db4 controller fails the new deferred-save regression at that prompt; the actual-failure/cancel control passes.
  • Follow-up: 45a1130c190c2d5b8489d38fc814dbb616f4494f, tree a9656f14eb3cc1c0f2218d2950f4bf1c095d381e. Grokbot reran the pet check under Node 22.19.0: 44 passed, 0 failed, and completed its seven-file source review at 2026-09-12 18:52:34 UTC with no remaining concrete source finding. Explicit archives now wait for autosave and include intervening inputs; genuine save failure still preserves the cancel path.
  • A separate local cross-port audit found Android's old particle clock/phase/jitter bounds. Grokbot confirmed the mismatch and the correction. 9 Android device tests, APK build and lint pass locally, including constructed long-clock import and continuation. Browser clocks display hours for long segments.

Other local evidence: 12 Watch tests, 10 Apple workflows, macOS/iOS builds and iOS earlier-recording export; 66 package + 12 SDK + 446 web tests and production web check passed. The shared-core 30-hour synthetic Still simulation rotated 263 archives while active files stayed below 0.45 MB. Browser archive/reopen preserves the full imported future timeline and seeks within the retained late-segment bounds.

Grokbot did not relink the TUI, run native builds, execute the browser IDB workflow, run a provider turn or independently repeat the 30-hour simulation. Those remain separately identified local receipts. Current-head hosted CI is still running. The prior 3972a9c completed with 29 successful and 6 skipped checks.

Active native companion acceptance, the standalone recorder's 24-hour file handoff, current macOS popover inspection and final audiovisual/power quality remain open. This is a draft; no merge, release or deployment.

Add Android local-document following through the shared live cursor. Existing,
duplicate and restarted packets establish a baseline; suspension discards old
observations and sound. Apple and browser use the same cursor, and native resume
uses the actual world clock. Keep file IO bounded and Android polling off the
world worker. Document producer and device-transfer limits.

Validation:
- npm --prefix pet run check: 48 passed, 0 failed.
- npm test: 66 package + 12 SDK + 446 web passed, 0 failed.
- npm run check:web: passed, 0 errors and 2 existing image warnings.
- TUI Watch: 12 passed, 0 failed; iOS Simulator build passed.
- Apple: 11 checkpoint/live-file workflows passed; macOS bundle built.
- Android: 9 native + 2 Compose lifecycle tests passed, APK/lint passed.
  Lifecycle rerun follows fixture isolation; prior mixed run had 1 failure.
- Previous 45a1130 fails stale-file browser and normal-tick native-resume
  regressions. Runtime fixture now waits for recorded coverage, not a fixed sleep.

Hosted CI is separate: 45a1130 macOS reported one subagent timeout-count
failure. That unchanged test passes locally; its hosted retry remains pending.
No release or deployment is claimed.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Published 43e6f02ea36dcb3fd39f24bea2ac7c5635f265b0 (tree 35ea1d15f2b9dad34b50fdafe6202dadd06add5f): shared live-file freshness, Android local-document following, native resume clock correction and lifecycle coverage. Existing bytes establish a baseline; only later sequence advancement is observed. Devices need a producer-updated local file; automatic desktop transfer is still open.

Local verification: 48 pet tests, 12 TUI Watch, 11 Apple workflows, iOS/macOS builds, nine Android native tests plus both Compose lifecycle tests, APK/lint, and npm test && npm run check:web (66 package + 12 SDK + 446 web; zero failures, two existing web warnings). The Android lifecycle pair passed on a targeted rerun after isolating the final fixture save. Previous 45a1130 fails the stale-file browser and normal-tick native-resume regressions. The Runtime fixture now waits for actual recorded coverage rather than a fixed wall-clock sleep.

All 161 published pet/integration source paths match the build archive. APK SHA-256: 50ef5d9f04c802a3e0291255ebb9eb33298a15edbec768080bc48ed4a1d27032; its embedded core matches the committed Apple/TUI bundle. CI will publish its own Android artifact.

Grokbot received the exact revision at 19:34 UTC; independent review and new-head CI are pending. Parent macOS CI had one subagent timeout-count failure; local targeted reproduction passes and its hosted retry is queued. This remains a draft, with no merge, release or deployment. Long-running recorder handoff, automatic device transport, active-session companion and final audiovisual/power acceptance remain open.

@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Codewhalebot completed independent QA at 2026-09-12 19:39:44 UTC on 43e6f02ea36dcb3fd39f24bea2ac7c5635f265b0, tree 35ea1d15f2b9dad34b50fdafe6202dadd06add5f.

Node 22.19.0: npm --prefix pet ci --ignore-scripts and npm --prefix pet run check48 passed, 0 failed. Browser, TUI and Apple generated core bundles are byte-identical. The 24-file review found no remaining concrete source defect. It checked baseline/reset behavior, browser reads crossing hide/show, normal-tick native resume, Android Live storage and document IO/lifecycle contracts.

Native builds/device acceptance, real browser file-picker/IndexedDB behavior and hosted CI were not independently run by Grokbot; the local receipts above remain separate. The standalone recorder's 24-hour handoff and automatic desktop-to-device transport remain open. Advisory review, with no release qualification.

Reuse the existing Runtime lifecycle importer incrementally, retaining unfinished
requests and a 16-second recurrence window with metadata/event caps. Keep late
error receipt times and snapshot identities stable when earlier history retires.

Rotate the live JSONL pathname into exclusive, replayable segments before its
24-hour or 64 MiB limit. Sync history before atomic replacement; refuse existing
archives and changed output files. Add macOS/Windows pet recorder CI.

Validation: npm test: 66 package, 12 SDK, 446 web passed; 0 failed.
npm run check:web: 0 errors, 2 existing image warnings.
Pet check: 56 passed, 0 failed. Whalesong check: 310 passed, 0 failed.
TUI Watch: 12 passed, 0 failed. Apple: 11 workflows passed; macOS/iOS builds pass.
Android: all 11 device tests passed in one run; assembleDebug and lintDebug pass.
Real loopback SSE fixture: 260001 records; under 512 retained events and 256 KiB.
Old 43e6f02 stops at record 155859 on the same fixture. No provider calls.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Published continuous recorder revision e71be2c, tree b408069640279b8e0715fd8b20008d47fa37282b, parent 43e6f02. All 165 published source paths match the tested build archive; 14 paths changed in this slice. The shared checkout advanced independently during verification; its index and unrelated source were preserved.

The recorder archives bounded JSONL segments while continuing at the same live pathname. The Runtime adapter now consumes the existing lifecycle parser incrementally, retains unfinished requests and recent recurrence data, and discards raw payloads. Existing archives and externally changed output files are preserved on failure. Archives grow on disk; restarting the process still requires a new unused output path.

Local verification:

  • npm test && npm run check:web: 66 package + 12 SDK + 446 web passed, zero failed; web build passed with two existing warnings.
  • Pet: 56 passed. Whalesong consumers: 310 passed. Product Watch: 12 passed.
  • Apple: 11 workflows passed, macOS and iOS builds passed.
  • Android: all 11 device tests passed in one run; APK and lint passed.
  • Real loopback SSE: 260,001 records, fewer than 512 retained events / 256 KiB. The old published adapter stops at 155,859 on the same fixture. Event timestamps are synthetic; no provider turn was started.
  • Generated TUI/Apple/native bundles are identical: SHA-256 f672b732716abc2f3ba76d3877bba08da30220fd314955cfdc0f28800698bf12.

Codewhalebot was assigned the exact head at 20:12 UTC. Current CI, including the added macOS/Windows recorder coverage, is pending. Prior 43e6f02 platform and product CI now passes. This is a source/build receipt, not a release claim.

CodeWhale Bot added 2 commits September 12, 2026 13:23
Account for a published first row before fallible post-rotation work, fixing
Grokbot's reproduced continuation failure. Close both synced writer handles
before replacing the live pathname on Windows; reopen without creating a missing
file and verify its identity before continuing.

Trim point rows so CRLF assets load the same whale. Exercise CRLF in the real
browser controller tests. Windows CLI fixtures use a test-only IPC preload to
notify the actual SIGINT handler; child.kill would forcibly terminate the child.

Validation: pet typecheck/build/test: 57 passed, 0 failed.
npm test: 66 package, 12 SDK, 446 web passed; 0 failed.
npm run check:web: 0 errors, 2 existing image warnings.
Previous e71be2c fails the post-publication and CRLF controller regressions.
Native bundle bytes are unchanged from e71be2c's verified Apple/TUI/Android builds.
The first Windows recorder CI exposed 19 failures; corrected-head CI is pending.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Windows recorder CI now passes 56 of 57 tests; the remaining live-reader fixture
hit intermittent rename EPERM after two successful rotations. Retry EPERM/EBUSY
for under two seconds, rechecking destination identity, size and modification
time before each attempt. Persistent denial keeps the old file and archive.

Validation: pet typecheck/build/test: 57 passed, 0 failed on macOS.
npm test: 66 package, 12 SDK, 446 web passed; 0 failed.
npm run check:web: 0 errors, 2 existing image warnings.
Native bundle unchanged. Corrected-head Windows CI remains required.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Codewhalebot QA is complete for the continuous recorder revisions.

  • On e71be2c, Node 22.19.0 typecheck/build and all 56 tests passed. The bot found and reproduced a post-publication row/byte accounting error.
  • On 369ec14, all 57 tests passed independently. The same reproduction fails the old writer and continues on the correction. The 13-file follow-up had no remaining concrete source finding.
  • On final 6d96052, tree bf848a3f458126c9840be0e877388da22ad99502, the bot completed a source-only review of the two-file Windows retry change at 20:30:11 UTC, with no new concrete defect. It checked the retry bound, destination identity/size/mtime guards, archive preservation and publication/accounting order. It did not rerun native builds or claim a Windows test from its Linux host.

Actual final-head platform CI now passes: Windows recorder, 57/57 and macOS recorder, 57/57. The first Windows run exposed 19 failures, then the follow-up passed 56/57 with a transient replacement conflict. Closing handles, trimming CRLF point rows, using a test-only Windows shutdown notification and guarding a bounded rename retry resolved the observed failures. The native bundle remains f672b732716abc2f3ba76d3877bba08da30220fd314955cfdc0f28800698bf12.

Local final-source npm test && npm run check:web also passed: 66 package + 12 SDK + 446 web, zero failures, two existing web warnings. All 166 published source paths match the tested archive. Apple/TUI/Android runtime bytes are unchanged from the separate e71be2c native receipts (11 Apple workflows, 12 Watch tests, 11 Android device tests together, macOS/iOS/APK builds).

Full-product, portable and Android hosted jobs remain separate from these completed checks. The full pet goal stays in progress for recorder restart/companion operation, current macOS popover inspection, device transport and final audiovisual/power acceptance. No merge, release or deployment.

CodeWhale Bot added 2 commits September 12, 2026 13:49
Preserve and validate the previous segment before restarting at the same
watched pathname with unknown coverage. Continue archive numbering and use
an OS-released single-writer lock for clean exit and process-death recovery.
Refuse malformed tapes, replaced locks and same-size external edits.

Validation: npm --prefix pet run check: 61 passed, 0 failed. Final recorder
checks: 10 passed, 0 failed. npm test: 66 package + 12 SDK + 446 web passed,
0 failed. npm run check:web: passed, 0 errors, 2 existing warnings.
Previous 6d96052 fails resume and accepts the external rewrite negative
controls. Native bundles are unchanged; Grokbot and hosted CI are separate.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Unreference the Windows test IPC channel so startup rejection can exit.
Exercise that path on every host and await CLI readiness before shutdown;
an archive link alone can precede replacement and signal-handler setup.
The production recorder and native bundle bytes are unchanged.

Validation: npm --prefix pet run check: 61 passed, 0 failed, 0 canceled.
npm test: 66 package + 12 SDK + 446 web passed, 0 failed.
npm run check:web: passed, 0 errors, 2 existing warnings.
The prior IPC preload hangs a rejected CLI until SIGKILL; the corrected
preload exits with code 1. Windows CI remains the platform proof.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Restart and companion continuation is published at c342329f62284a6ad90d8ac24ea1f0df75476f4b, tree ca917d96e5be159c69c11800f521d87b4b2023f1.

--resume now reuses the watched output path, preserving the previous complete tape in the next numbered archive and starting with unknown coverage. The OS releases writer ownership after process death. Competing recorders, corrupted/incomplete tapes, changed locks and same-size external rewrites are rejected without overwriting existing history. Native habitat state remains with the host.

Verification:

  • Local pet typecheck/build/tests: 61 passed, 0 failed, 0 canceled. Required npm test && npm run check:web: 66 package + 12 SDK + 446 web passed, 0 failed, production web build passed, two existing warnings.
  • Current-head macOS recorder CI and Windows recorder CI: 61 passed, 0 failed, 0 canceled each. The first Windows run exposed a test-only IPC hang. The correction also waits for CLI startup readiness and exercises the Windows IPC path on every host.
  • Codewhalebot independently passed 61/61 on production-recorder commit 11c6fbfc, then 10/10 recorder tests on c342329f. It reproduced the old IPC hang and verified the correction. No remaining concrete finding in either reviewed slice. Production recorder bytes are unchanged in the final test-only follow-up.
  • The current macOS package is running. A real process restart restored Event-demo tick 8,700, then saved tick 9,150. Independent replay of those 450 ticks matched particle digest 1296c32fd43666e9, random state, history and score. App control could launch the menu-only app but could not expose its popover; this receipt does not claim visual inspection.
  • All 166 published source-manifest paths match the tested archive. The shared main/index and other tasks' work remain untouched. Native bundle bytes remain f672b732716abc2f3ba76d3877bba08da30220fd314955cfdc0f28800698bf12, unchanged from the separately verified TUI/Apple/Android builds on e71be2c.

The full-product/portable/Android hosted suite is still running. Active-session companion delivery, current macOS popover inspection, device transport and final audiovisual/power quality remain open. Existing Runtime-journal observation, synthetic SSE/world tests, device tests and the macOS process receipt are distinct proofs. No merge, release or deployment.

Require explicit Runtime stream progress before extending human requests as
current observations. Drain durable history and queued live events, return to
replaying on broadcast lag, and preserve default event-only SDK behavior.
Unsupported Runtime/SDK input stops explicitly and records unknown intervals.

Validation: pet check 63 passed, 0 failed/canceled; npm test 66 package + 14 SDK
+ 446 web passed, 0 failed; check:web passed, 0 errors and 2 existing warnings.
Runtime Rust progress tests 3 passed plus existing handoff 1 passed; SDK types
passed. Loopback negative control reproduces stale waiting on c342329 and
keeps it unknown with this transport. No provider calls were started.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Published 5fd45f13ae16b4b108d67e43945aa6275ea052f6 (tree 4f88fa3673a491ba951762363ba5e510e53bca26). The pet now waits for explicit Runtime replay completion, including the queued live tail. Broadcast-lag recovery becomes unknown again until catch-up finishes. This fixes a reproduced case where the previous transport presented a 60-second-old request as current before its historical answer arrived. Default SDK streams remain event-only; older Runtime/SDK combinations without progress support stop pet input explicitly.

Local checks: 63 pet, 66 package, 14 SDK and 446 web tests pass; web checks have 0 errors and 2 existing warnings. Actual Runtime Rust checks pass 3 new progress cases plus the existing handoff. Codewhalebot independently passed 63 pet + 5 SDK stream tests on Node 22.19.0 and found no concrete remaining source defect. Its fresh Rust link was outside its host's memory budget.

Current-head macOS and Windows recorder CI each pass 63/63. Portable and Android checks passed; full-product Rust tests/lint/analysis are still running.

The active native chain now has an actual local receipt: typed synthetic Engine input reached the existing Runtime journal/SSE, the standalone recorder process, and the Apple DispatchSource/PetHost. The native world showed the request at 1,233 ms and returned to unknown/no pending request at 2,000 ms after its answer. Private fixture prompt/question/answer text stayed out of the pet recordings. No provider was called. This is native host/file-delivery proof, not a popover, phone-link or listening test.

All 168 published source paths match the tested archive. Shared main and its index remain preserved. PR description and build/compatibility notes are updated; no release or deployment.

CodeWhale Bot added 2 commits September 12, 2026 15:21
Transfer checked Float32 PCM directly from JavaScriptCore. Re-anchor native
presentation after UI stalls, retire stale voice callbacks by ticket, and
mute output failures while preserving world ticks, saves and exports.

Validation: npm test && npm run check:web passed: 66 package, 14 SDK,
446 web; 0 failures, 0 web errors, 2 existing warnings. Pet check 63/0/0.
Actual TUI Watch 12/0; Android instrumentation 11/0 with APK/lint build.
Apple 11 checkpoint workflows plus 27 exact PCM ranges and malformed guards;
final macOS compile/sign/verify and iOS Simulator build passed.
Real AVAudioEngine completed 150 frames with a 750ms stall, all 12 onsets
scheduled in the future. Previous host fails the injected PCM-error control;
current host mutes sound, continues world ticks and exports. Audio-frame p95
70.6ms -> 23.4ms in synthetic profiling; concurrent-machine wall outliers
remain, so no hard frame-time or subjective listening guarantee is claimed.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Run the existing Apple checkpoint/PCM workflow on the macOS recorder runner
and upload the locally signed application as a zipped review artifact.
Android keeps its existing separate APK and reports. Neither is a release.

Validation: actionlint pet workflow passed; local macOS packaging/unzip
integrity passed. Product sources are unchanged from ee35326: required
npm test && npm run check:web passed 66 package, 14 SDK, 446 web, 0 failed,
0 web errors and 2 existing warnings. Pet 63/0; Apple 11 workflows + 27
exact PCM ranges, macOS/iOS builds, Watch 12/0, Android 11/0 + APK/lint.
Hosted execution of this new workflow step remains pending.

Signed-off-by: CodeWhale Bot <bot@codewhale.net>
@Hmbown

Hmbown commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Apple audio and review builds are published on 9c80de6, tree c55ce52c9ba2dfbe611a8510d983375864c49847. Product source is from ee35326; the final two-file change wires the existing Apple checks and downloadable app into CI.

Apple now transfers validated Float32 PCM directly from JavaScriptCore, resynchronizes playback after stalls, and mutes sound failures while the visual world, persistence and export continue. The score and particle algorithms are unchanged. The original A–F implementation/evidence map is in pet/QA.md. The dots express the work; the whale is their home form.

Current-head Pet conformance CI is green:

  • macOS: 63 pet tests, 11 actual Apple checkpoint/live-file/storage workflows and 27 exact PCM comparisons passed; the app builds and signs. The complete job took 1m40s, including the 63-second Apple step.
  • Windows: all 63 pet tests passed. Portable: checks, generated-source identity and TypeScript/Rust parity passed.
  • Android: all 11 instrumentation tests passed together, plus APK assembly and lint.

Download review builds: macOS app · Android APK and reports. Both downloaded archives were checked; macOS signature/LSUIElement/ARM64 executable checks pass, and both bundles match 979ac780ec51c359d9c5fa523c2bbf171af6ba73fb2235e150c36d840d40aeb1. These are ad-hoc/debug review artifacts, not notarized releases.

Codewhalebot independently passed 63 pet tests and verified generated resources on Node 22.19.0 for ee35326, with no remaining concrete source defect. It reviewed the current two-file CI follow-up and independently checked the completed job timing against its timeout concern. It did not execute native hardware tests or download the artifacts.

Separate local receipts: required npm test && npm run check:web passed 66 package + 14 SDK + 446 web, zero failures/errors and two existing web warnings; 12 actual Watch tests and the final iOS Simulator build pass. Real AVAudioEngine playback completes 150 frames with a forced 750 ms stall, keeping all 12 onsets in the future. The previous Host stops on the injected PCM failure; the corrected Host mutes, advances from 400 ms to 933 ms, and exports. These two hardware regressions are local acceptance harnesses, separate from the committed Apple suite.

Synthetic audio-frame p95 improved from 70.6 ms to 23.4 ms with the same final digest and peak. The final shared-machine run had six wall-time outliers, worst 738 ms; no hard frame-time or subjective listening guarantee is claimed.

The original A–F implementation is ready for source review. Current macOS popover inspection and physical-device listening/battery quality remain unverified; mobile hosts consume local files without an automatic phone link. Five full-product Rust test/lint/analysis checks are still running at this receipt. The PR remains a draft; no merge, release or deployment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build the deterministic audiovisual pet across Codewhale surfaces

1 participant