Repository navigation
What's Changed
- docs(factory): scannable review bodies — verdict headline, six-line fold, collapsed analysis by @fairchild in #1420
- docs(plans): design refresh — sidebar + navigation styling (arc plan) by @fairchild in #1422
- feat(sidebar): deterministic repo identity glyphs + header inline actions by @fairchild in #1426
- feat(factory): the April revision loop — a contributor turn on CHANGES_REQUESTED (#1125) by @fairchild in #1432
- fix(ci): make PR bodies right by construction, and checkable before they are published by @fairchild in #1423
- fix(personas): load every top-level persona memory file, not an allowlist by @fairchild in #1411
- docs(lessons): what a factory release actually costs by @fairchild in #1437
- docs(factory): the lane-conventions position for #1445 by @fairchild in #1448
- fix(factory): grant the revise lane's evidence call site its required permissions by @fairchild in #1447
- fix(cleanup): a way back to a dismissed workspace-leftover banner by @fairchild in #1451
- docs(decisions): record the mobile-variant tailnet design by @fairchild in #1453
- docs(release): App Manager key role, hosted-lane green runs, rehearsal approval timing by @fairchild in #1460
- test(factory): callers of a reusable workflow must grant what it declares by @fairchild in #1461
- docs(lessons): amend the #1352 stale-claim lesson to carry its own correction by @fairchild in #1464
- fix(web-next): gate dotted paths at the edge instead of skipping them by @fairchild in #1469
- docs(glossary): rename CONTEXT.md to GLOSSARY.md by @fairchild in #1470
- perf: label what launch_to_first_prompt measured, and stop summarizing a failed capture as a clean one by @fairchild in #1463
- feat: tailnet mobile pairing — host-gate allowlist + Pair Mobile Device QR by @fairchild in #1465
- perf(web-next): re-baseline route_home lcp budget for the current runner by @fairchild in #1476
- feat(ios): WorkSpaces mobile shell — QR pairing, Keychain node, sessions webview by @fairchild in #1473
- docs(roadmap): name succession, and the order it depends on by @fairchild in #1475
- fix(archive): archive a workspace whose directory is already gone by @fairchild in #1452
- docs(decisions): the development-channel model — one line, three labels by @fairchild in #1466
- chore(web-next): pin pnpm with packageManager so local and CI agree by @fairchild in #1477
- docs(continuity): plan restore delivery repair ahead of ladder work by @fairchild in #1484
- fix(restore): verify and repair the launch contract, recover lost identity by @fairchild in #1485
- fix(pairing): loopback-only ack status, rotated-token recovery, drop the port-fighting script by @fairchild in #1486
- fix(web-next): sign out for real in local mode by @fairchild in #1489
- chore(security): bump sandbox mise pin to v2026.8.16 (weekly refresh) by @fairchild in #1503
- feat(factory): reconcile a Factory Review signal with no counterpart verdict by @fairchild in #1515
- fix(reattach): count only the surfaces the pass attached by @fairchild in #1490
- fix(factory): tell budget exhaustion apart from a crash loop by @fairchild in #1493
- fix(release): render changelog markdown in Sparkle release notes by @fairchild in #1494
- fix(automation): build the health descriptor per request by @fairchild in #1496
- fix(orphans): make scan failures diagnosable, and say the result is partial by @fairchild in #1499
- fix(perf): record what closed launch_to_first_prompt, not just how long by @fairchild in #1495
- docs(mobile): the Read-tool jail verdict and the tailnet runbook (#1454 steps 3-4) by @fairchild in #1522
- feat(ci): verify bundle structure on the unsigned build by @fairchild in #1498
- fix(web-next): make a green evidence run mean the walk actually ran by @fairchild in #1524
- feat(automation): drive the parity lane's repo step through the socket by @fairchild in #1525
- fix(release): clear the three warnings from release run 33382560413 by @fairchild in #1492
- feat(audit): detect D1 migration drift per environment by @fairchild in #1500
- perf(sidebar): scope row redraws to the session that changed (part of #1366) by @fairchild in #1504
- fix(restore): an empty query array is not evidence a saved surface is gone by @fairchild in #1531
- feat(diagnostics): sample processes without forking, and watch always by @fairchild in #1532
- docs(personas): adopt a plain-writing voice in the persona references by @fairchild in #1491
- test(terminal): pin the per-surface spawn contract at the C boundary; spawn-layer evidence for #889 by @fairchild in #1520
- fix(tests,automation): make the timing sweep await signals, and fix the two production bugs in it by @fairchild in #1527
- fix(tmux): authorize session kills by creation provenance, not by name by @fairchild in #1526
- fix(tmux): retire the kill-by-name primitive, and stop typing into adopted sessions by @fairchild in #1538
- feat(factory): review every pull request by default, and gate forks instead of labels by @fairchild in #1544
- fix(ci): provision Xcode benchmark runtime by @fairchild in #1553
- feat(ci): hand off trusted Xcode diagnostics by @fairchild in #1554
- fix(factory): read the evidence item a person actually wrote by @fairchild in #1546
- fix(factory): admission declines the workflow name a person writes, and rollback names the refused paths by @fairchild in #1560
- fix(release): reject an empty app bundle positional in verify-release-bundle.sh by @fairchild in #1559
- fix(factory): one evidence entry proves one requirement by @fairchild in #1561
- fix(factory): give the macOS evidence lane the contract the gate reads by @fairchild in #1563
- fix(evidence): make evidence uploads withdrawable and unguessable by @fairchild in #1555
- release: v0.27.0 by @fairchild in #1567
Full Changelog: v0.26.0...v0.27.0