docs: establish canonical LifeOS product and architecture baseline - #126
docs: establish canonical LifeOS product and architecture baseline#126seonghobae wants to merge 86 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughLifeOS의 canonical 제품·기술 문서 기준선을 확장했습니다. 서비스 경계, 데이터 소유권, 보안, 개인정보, 운영, 테스트, 릴리스, 추적성 규칙을 문서화했습니다. 문서 구조와 핵심 계약을 검증하는 테스트를 추가했습니다. Changes문서 기준선 및 운영 계약
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
|
seonghobae
left a comment
There was a problem hiding this comment.
Current-head CI has a real canonical-ADR identity collision that remains source-level on this head. Protected main already contains docs/adr/0001-opaque-non-numeric-identifiers.md; this PR adds a second 0001-product-hosting-and-data-evolution.md. The documentation contract enumerates every NNNN-*.md, indexes by the four-digit number, and therefore cannot map both files to one exact [0001](...) target. Do not weaken the test or delete historical rationale. Preserve the inherited 0001 as history (canonicalize its status/required sections and mark it superseded by the current UUIDv4 formulation if appropriate), keep the current UUIDv4 decision at its unique ADR identity, and renumber the new hosting/data-evolution decision to a free unique number (for example 0009), updating the ADR index, required material set, and TRACEABILITY.md architecture-decision rows accordingly. Then require a fresh exact-head CI run; predecessor success does not transfer.
|
@opencode-agent Reconcile canonical documentation PR #126 only if contributor head is still exactly This is a semantic reconciliation, not an Required outcomes:
Do not change product behavior, dependencies, secrets, merge/release policy, or unrelated source in this task. |
|
@opencode-agent Reconcile canonical documentation PR #126 only if contributor head is still exactly The previous reconciliation request is intentionally stale because #134 has now merged. Perform one semantic current-main reconciliation, not an Required outcomes:
Do not modify product implementation outside what is necessary to reconcile canonical documentation and its deterministic contract. |
|
Superseded by #145, the clean canonical-documentation successor built directly from current protected |
|
Superseded by #145. The canonical documentation families were preserved/reconciled onto a clean branch from current protected main instead of carrying this branch's heavily diverged implementation ancestry. #145 is now the single canonical documentation line; current protected-main root policy is retained and semantic gaps are being reconciled there. No checks/reviews from this historical head transfer to the successor. |
Why
LifeOS had strong implementation evidence, feature specs, runbooks and research notes, but the whole product could not be reconstructed from one code-current documentation graph. Canonical PRD/TRD/ADR/data-model/UML/API/privacy/threat/test/operability/release/standards/traceability documents were missing, and the original 2026-08-02 combined design still contained assumptions superseded by protected main.
What this changes
docs/PRD.mdanddocs/TRD.mddocs/DATA_MODEL.mdwith a service-owned logical ERDdocs/UML.mdwith component, login/workspace, planning/Today, notification, calendar, AI, privacy, backup, deployment and degraded-mode viewsdocs/API_CONTRACTS.mddocs/PRIVACY_DATA_LIFECYCLE.mddocs/RELEASE_AND_MIGRATION.mddocs/STANDARDS_TRACEABILITY.mdSECURITY.mddocumentation-contract.test.mjsso canonical presence, README links, ADR indexing/status, code fences, UUIDv4/MSA authority, service-owned persistence, inert AI authority, privacy/release gaps, and protected-main-vs-active-PR traceability cannot silently regressEvidence discipline
Canonical docs use explicit statuses:
Implemented on protected main,Implemented on active PR,Partial,Accepted architecture,Planned,Research only,Superseded, andOut of scope.During this PR, #122 completed all exact-head CI/security/CodeRabbit gates and was guarded-squash-merged as protected main
876850018a17323900844e79845ba395b7bf6a9a; this branch was updated to treat the autonomous OpenCode development loop as protected-main evidence rather than stale active-PR evidence.The documentation deliberately keeps incomplete outcomes explicit: durable Today multi-device reconciliation (#121), end-to-end tenant export/deletion (#55), hosted per-user calendar credentials/provider selection (#129), generic plugin runtime delivery, and stable-release evidence.
Additional repository-state improvements performed while this documentation PR remained open
22/22, 100% configured maturity, and zero buyer gaps while live high-impact product gaps remain; Fix commercial-readiness false gap exhaustion from partial capability evidence #128 requires deterministic separation of capability-evidence maturity from whole-product gap exhaustionVerification
A local clone/test attempt was made but the execution environment could not resolve
github.com, so no local-pass claim is made. The PR must use exact-current-head repository CI/security/review evidence as the authoritative verification path. The new documentation contract is part of the normal@life-os/commercial-readinesstest glob.Continuation
Documentation completion is not the maintenance-loop exit condition. After this PR is gate-clean, the loop continues into the highest-value executable product/governance gap from live state, including #128, #121, #55, and #129 rather than treating a documentation pack as product completion.
Summary by CodeRabbit
문서
테스트