Skip to content

docs: rebase canonical LifeOS product architecture on current main - #145

Draft
seonghobae wants to merge 114 commits into
mainfrom
docs/canonical-product-architecture-mainline
Draft

docs: rebase canonical LifeOS product architecture on current main#145
seonghobae wants to merge 114 commits into
mainfrom
docs/canonical-product-architecture-mainline

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Why

LifeOS needs one reconstructable, code-current product line for PRD, TRD, root Architecture, ADRs, UML/C4, logical data ownership, API/event/schema contracts, Security/Threat Model, Privacy/Data Lifecycle, Test Strategy, Operability/recovery, Release/Migration/Rollback/provenance, Standards/Research, Traceability, Documentation Assessment, README, AGENTS, CLAUDE and CHANGELOG. Historical PR bodies and predecessor checks are evidence only.

Canonical graph

This PR maintains the single canonical line in:

  • docs/PRD.md, docs/TRD.md, root ARCHITECTURE.md;
  • docs/adr/README.md plus ADR 0001-0012;
  • docs/DATA_MODEL.md, docs/UML.md, docs/API_CONTRACTS.md;
  • SECURITY.md, docs/THREAT_MODEL.md, docs/PRIVACY_DATA_LIFECYCLE.md;
  • docs/TEST_STRATEGY.md, docs/OPERABILITY.md, docs/RELEASE_AND_MIGRATION.md;
  • docs/STANDARDS_TRACEABILITY.md, docs/TRACEABILITY.md, docs/DOCUMENTATION_ASSESSMENT.md;
  • README/AGENTS/CLAUDE/CHANGELOG discoverability and executable documentation contracts.

Protected-main reconciliation

The current branch includes protected main through:

Protected behavior is labeled Implemented on protected main. Superseded predecessor PRs are not described as current active work.

Active work and remaining gaps

Only the current unintegrated contributor slices are labeled Implemented on active PR:

Canonical buyer gaps remain Partial:

Issue #132 remains a Partial verification-governance gap for central scanner checkout/SARIF/status attribution. Documentation integration does not close product gaps.

RED -> GREEN evidence

A new documentation-currentness.test.mjs first failed against the stale predecessor documentation, then passed after the canonical maturity graph was corrected. On the complete integrated tree, the documentation contracts currently pass 12/12 and the committed Git blob hashes match the locally validated GREEN files.

Merge discipline

This PR remains Draft. Its exact unchanged head must still pass live CI, AppGuardrail, SAST Semgrep, Security Scan, Commercial Readiness, current review findings and live-base compatibility. The newly dispatched workflows are pending and are not treated as passing. No release or shipped-capability claim follows from this documentation PR alone.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4c617f59-5431-469a-b99a-0f7e99c3cbc9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

* test(calendar): specify encrypted credential store boundary

* feat(calendar): implement encrypted credential store

* fix(calendar): harden bounded encrypted secret reads

* test(calendar): exercise authenticated tamper and delete failures

* fix(calendar): make tamper test type-safe
* test(review): define data-rights contributor acceptance

* feat(review): implement service-owned data-rights contributor

* feat(review): persist replay-safe erasure receipts

* feat(review): compose data-rights contributor in runtime

* test(review): compose transactional data-rights runtime

* test(review): prove data-rights lifecycle on PostgreSQL

* fix(review): release connections when transaction begin fails

* style(review): format data-rights integration test

* style(review): format data-rights unit test

* style(review): format data-rights contributor

* chore(review): expose exact data-rights formatter diff

* style(review): apply canonical data-rights formatting

* style(review): apply canonical data-rights formatting

* chore(review): restore canonical formatter gate

* test(review): reject cross-tenant export evidence

* fix(review): reject cross-tenant export evidence

* fix(review): preserve UUIDv4 validation

* style(review): format data-rights contributor

* style(review): restore canonical data-rights formatting

* test(review): require workspace-scoped erasure receipts

* ci(review): verify workspace-scoped erasure receipts

* ci(review): stage receipt-scope repair script

* ci(review): run verified receipt-scope repair

* ci(review): finalize workspace-scoped erasure receipts

* ci(review): align receipt-scope test double

* ci(review): rerun workspace-scoped receipt repair

* ci(review): harden and rerun workspace-scoped receipt repair

* ci(review): verify receipt-scope RED from JSON evidence

* fix(review): scope erasure receipts to workspace

* fix(review): isolate erasure replay per workspace

* fix(review): mirror workspace-scoped erasure receipts in unit fixture

* style(review): terminate receipt isolation test file

* style(review): align data-rights contributor with Prettier

* style(review): satisfy exact package Prettier output

* chore(review): remove temporary receipt repair writer

* chore(review): remove temporary receipt finalizer

* chore(review): remove temporary receipt repair workflow

* chore(review): remove temporary receipt repair runner

* style(review): terminate receipt scope test file

* style(review): restore verified Prettier output

* style(review): restore Prettier 3.9 interface wrapping

* chore(review): expose current Prettier diff

* fix(review): satisfy formatter gate
const prefix = `| PR #${pullRequest} |`;
const row = assessment.split('\n').find((line) => line.startsWith(prefix));
assert.ok(row, `missing active assessment row for PR #${pullRequest}`);
assert.match(row, new RegExp(`\\| ${status} \\|`, 'u'));
function assertProtectedAssessmentEvidence(pullRequest) {
assert.match(
assessment,
new RegExp(`^[-|].*PR #${pullRequest}\\b[^\\n]*Implemented on protected main`, 'mu'),
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.

2 participants