rdmsm4x-changelog-20260828-2000-logtty-resume-signed-build20
logTTY resume pass — ground truth, signed build 20, documentation conformance
2026-08-28 19:51 EDT – 20:00 EDT · rdmsm4x · Claude session (resume, per Rich's request to pick the project back up)
What was done
- Ground truth re-established.
swift buildclean;swift test238 tests / 33 suites / 5 targets, 0 failures; all threeTests/ScriptTests/*.shPASS;script/verify_product_identity.shPASS;git diff --checkclean. - Produced a current, correctly signed release build.
./script/build_and_run.sh --release(run in the Aqua session, not SSH — signing requires it) →~/dev/apps/logTTY/dist/logTTY-0.1.1-20.zip:- Bundle ID
com.eastcoastscience.logTTY, version 0.1.1, build 20 lipo -archs→x86_64 arm64(universal2)codesign -dvvv→Authority=Apple Development: Richard Doty (S65Q255HA8),TeamIdentifier=ZU2882L4HT,Runtime Version=14.0.0(hardened runtime) — not ad-hoc- Designated requirement:
identifier "com.eastcoastscience.logTTY" and anchor apple generic and certificate leaf[subject.CN] = "Apple Development: Richard Doty (S65Q255HA8)" and certificate 1[...] exists Metadata.appintentscorrectly absent — the macOS app declares zeroAppIntent/AppShortcutsProvidersymbols, so there is nothing to emitInfo.plisthas 0*UsageDescriptionkeys — new finding, filed- Not installed anywhere this pass; local install/runtime proof
remains open (
ISSUES.mdLTTY-O02)
- Bundle ID
- Verified mobile App Intents metadata post-rename.
Built
Apps/LogTTYMobile/LogTTYMobile.xcodeproj(LogTTYMobileApp, Debug, iphonesimulator).ExtractAppIntentsMetadatawrote a populatedMetadata.appintents/declaringLogTTY.OpenLogTTYIntentunder the current bundle IDcom.eastcoastscience.logTTY.mobile; zeroLogstreamedstrings in the binary. First evidence for the renamed app — everything previously on disk predated the rename. - Resolved from
ISSUES.md:SESSION-STATE.mdhad never been updated to match the 2026-08-23 canonical-root decision (~/dev/apps/logTTY) — it still named the retired~/dev/logTTY-approot, five days after four other files were corrected. Fixed.- The "masked
mainref" fleet-watch incident (loose vs.packed-refsmismatch, raised byoffhost_watch.zshonrdmbair15m5) is not a real repo condition — it's normal git behavior (packed-refs only updates ongit pack-refs/gc; the loose ref is always authoritative and runs ahead after any commit). Filed a todo item against the watcher itself rather than working around it in this repo:~/dev/todo/items/20260828-fleet-offhost-watch-packed-refs-false-positive.md(relayed tofleet/ISSUES.mdautomatically). - Mobile App Intents metadata (see #3).
LTTY-O02(produce/validate a current signed build) — evidence-complete for the build itself; install/runtime proof intentionally left open (out of scope this pass).
- Documentation conformance raised 6/10 → 8/10
against
~/dev/lib/app-baseline/PROJECT_DOCUMENTATION_PROTOCOL.md§7.FEATURE_MATRIX.md's ad hoc section headers were converted to the fixed status vocabulary (Working/Working (qualified)/Partial/Foundation/Documented only/Planned/Blocked) with an explicit per-row boundary column (delegated to a scoped subagent; verified after). Remaining fails: item 7 (no test tiesINTERFACES.md's App Intents claim to the actual metadata processor output) and items 8/9 (nodev.ecs0.netpage exists for this project yet — deliberately not built this pass). - New open finding filed:
Info.plistdeclares zero*UsageDescriptionkeys against~/dev/apps/CLAUDE.md§9's requirement. - Replaced
~/dev/data/project-docs/logTTY.jsonwith current evidence (build/test/commit, 10 curated features, git/libraries enrichment blocks). - Committed:
1645e6d"Resume pass: re-establish ground truth, sign a real release build, close five documentation gaps" (5 files, docs only — no source changed). Not pushed (repo policy: publication is Rich's call).
Deliberately left open / not attempted
- Local install of build 20 anywhere — explicit
instruction for this pass: build, don't deploy.
dist/logTTY-0.1.1-20.zipis ready to install without rebuilding. - Re-testing whether the privileged helper's elevation assumption is actually necessary (the RTTy-ICMP-precedent question from the 2026-08-26 handoff) — real, undone work; the helper is already built/merged, so this only affects the release-enablement decision now, not construction. Needs a session explicitly scoped to it.
dev.ecs0.netgenerated dashboard for this project — no generator exists yet; out of scope for this pass's priority order.- Mobile bundle ID mismatch
(
com.eastcoastscience.logTTY.mobilevs. macOS'scom.eastcoastscience.logTTY) — pre-existing, tracked in~/dev/apps/CLAUDE.md§5, not touched.
Needs Rich's decision
None new this pass. Existing open decisions in
DECISIONS.md stand: CloudKit container name (shared with
RTTy/RDReceipt, blocked on team provisioning) and whether the Direct
channel ships with the privileged helper enabled.
Evidence / files touched
~/dev/apps/logTTY/{DECISIONS,FEATURE_MATRIX,ISSUES,SESSION-STATE,STATUS}.md— commit1645e6d~/dev/apps/logTTY/dist/logTTY-0.1.1-20.zip— gitignored build artifact, not committed~/dev/data/project-docs/logTTY.json— replaced~/dev/todo/items/20260828-fleet-offhost-watch-packed-refs-false-positive.md— new