docs(governance): record product scaffolding paths (DEC-022)
Updates two documents to reflect the workspace + Flutter app
scaffold landed in the previous commit.
path-migration-map.md v0.9.2 -> v0.9.3:
Adds §3 Implementation Path Layout. Lists each subsystem's
canonical crate path alongside its SAD / SysDes / DEC authority.
Notes that the Flutter app is owned by Flutter tooling and is
not a Cargo workspace member.
CHANGELOG entry under [Unreleased]:
- Documents the seven new Cargo workspace members and the
invariants pinned at the workspace level.
- Documents the Flutter app scaffold, the DEC-004 minSdk = 28
override, and the DEC-015 English + Simplified Chinese ARB
catalogue (with the ADR-008 server-content reaffirmation).
- Records the empirical verification (cargo check + cargo test
+ flutter analyze + flutter test all clean).
This commit is contained in:
@@ -8,6 +8,60 @@ This project is expected to follow a Conventional Commits style workflow.
|
||||
|
||||
### Added
|
||||
|
||||
- **Product workspace scaffold (DEC-022).** Created the canonical
|
||||
implementation directory layout per the README sketch + SAD §7.2:
|
||||
- `Cargo.toml` — top-level Cargo workspace declaring seven members
|
||||
and excluding the `poc/` spike trees and `apps/chanora_flutter`.
|
||||
Pins `license = "MIT OR Apache-2.0"` (DEC-020) and
|
||||
`rust-version = "1.95"` workspace-wide.
|
||||
- `core/chanora_core/` — top-level Rust API + orchestration. Owns
|
||||
`ChanoraSession` (placeholder) and the `CoreError` enum that
|
||||
typed-wraps every subsystem error.
|
||||
- `crates/chanora_protocol/` — tsclientlib adapter scaffold,
|
||||
opaque `ChannelId` / `ClientId` types, `ProtocolError`.
|
||||
- `crates/chanora_state/` — `StateError`, `ConnectionState` enum.
|
||||
- `crates/chanora_audio/` — `AudioError`, `AudioEffects` struct
|
||||
whose defaults match DEC-007/008/009/010 (all four effects on).
|
||||
- `crates/chanora_storage/` — `StorageError`, marker traits for
|
||||
the two repositories per the SAD-067 separation.
|
||||
- `crates/chanora_diagnostics/` — `DiagnosticsError`,
|
||||
`REDACTION_MARKER` constant matching the PoC, `Redactor` shell.
|
||||
- `crates/chanora_bridge/` — `BridgeError` DTO (Serialize +
|
||||
Deserialize) for FRB 2.x boundary.
|
||||
Workspace `cargo check --workspace` and `cargo test --workspace`
|
||||
both clean on Rust 1.95.
|
||||
- **Flutter application scaffold.**
|
||||
- `apps/chanora_flutter/` created via `flutter create` with
|
||||
`--org app.chanora --project-name chanora_flutter`. Platforms
|
||||
enabled at scaffold time: Linux + Android.
|
||||
- `apps/chanora_flutter/android/app/build.gradle.kts` overridden
|
||||
to `minSdk = 28` per DEC-004 (raised from Flutter's default
|
||||
minSdk by explicit owner ruling, register v0.9.5).
|
||||
- `flutter_localizations` + `intl` added to `pubspec.yaml`;
|
||||
`flutter.generate: true` enabled.
|
||||
- `l10n.yaml` configured to emit `lib/l10n/generated/AppL10n`
|
||||
(no synthetic package — `synthetic-package` was removed in
|
||||
Flutter 3.41+).
|
||||
- `lib/l10n/app_en.arb` — English template ARB with the MVP key
|
||||
set (`appTitle`, `homeGreeting`, `homeNotProductionReadyBanner`,
|
||||
`connectAction`).
|
||||
- `lib/l10n/app_zh.arb` — Simplified Chinese translations per
|
||||
DEC-015 (MVP language scope expanded from English-only).
|
||||
- `lib/main.dart` and `test/widget_test.dart` rewritten as a
|
||||
minimal scaffold that exercises both locales.
|
||||
- `flutter analyze` reports no issues. `flutter test` runs the
|
||||
English + Simplified Chinese smoke tests and both pass.
|
||||
|
||||
### Changed
|
||||
|
||||
- `docs/governance/path-migration-map.md` bumped to v0.9.3 with a
|
||||
new §3 *Implementation Path Layout* recording the DEC-022
|
||||
directory adoption (`apps/`, `core/`, `crates/`) and pointing
|
||||
each subsystem at its crate alongside the relevant SAD/SysDes/DEC
|
||||
authority.
|
||||
|
||||
### Added (LICENSE files)
|
||||
|
||||
- `LICENSE-APACHE` — Apache License Version 2.0 text (DEC-020).
|
||||
- `LICENSE-MIT` — MIT License text (DEC-020).
|
||||
- Initial repository foundation files.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Documentation Path Migration Map
|
||||
|
||||
**Document type:** Configuration / Migration Map
|
||||
**Version:** 0.9.2
|
||||
**Version:** 0.9.3
|
||||
**Status:** Baseline Candidate
|
||||
**Language:** English
|
||||
**Product:** Chanora
|
||||
@@ -53,8 +53,32 @@ This document maps the previous package-style filenames to the new repository do
|
||||
| `CHANORA_VER_ASPICE_SYS4_System_Integration_Verification_Plan_v0.9.2.md` | `docs/verification/sys4-system-integration-verification-plan.md` |
|
||||
| `CHANORA_VER_Master_Plan_v0.9.2.md` | `docs/verification/verification-master-plan.md` |
|
||||
|
||||
## 3. Change History
|
||||
## 3. Implementation Path Layout (DEC-022)
|
||||
|
||||
The canonical implementation directory layout was adopted as DEC-022
|
||||
(register v0.9.5) and matches the README's sketch + SAD §7.2 module
|
||||
decomposition. Implementation paths are listed here for traceability
|
||||
alongside the documentation paths above.
|
||||
|
||||
| Logical role | Repo path | Authority |
|
||||
|---|---|---|
|
||||
| Flutter application | `apps/chanora_flutter/` | SAD §7.1, DEC-022 |
|
||||
| Rust orchestration / top-level API | `core/chanora_core/` | SAD §7.2 |
|
||||
| Protocol adapter (tsclientlib isolation) | `crates/chanora_protocol/` | SAD §7.2, SAD-067, SysDes-011/029 |
|
||||
| State synchronisation | `crates/chanora_state/` | SAD §7.2 |
|
||||
| Audio subsystem | `crates/chanora_audio/` | SAD §7.2, DEC-011, DEC-011.1 |
|
||||
| Storage (non-secret DB + platform secure store) | `crates/chanora_storage/` | SAD §7.2, SAD-067, DEC-013, DEC-013.1, DEC-013.2 |
|
||||
| Diagnostics (logs, redaction, export) | `crates/chanora_diagnostics/` | SAD §7.2, DEC-016, DEC-017 |
|
||||
| Typed Flutter/Rust bridge | `crates/chanora_bridge/` | SAD §7.2, DEC-014, SDD-079, SAD-068 |
|
||||
|
||||
The Cargo workspace is declared at the repository root (`Cargo.toml`).
|
||||
The Flutter application is **not** a Cargo workspace member; it is
|
||||
owned by Flutter / Gradle / Xcode tooling and listed under the
|
||||
workspace's `exclude` array along with the `poc/` spike directories.
|
||||
|
||||
## 4. Change History
|
||||
|
||||
| Version | Date | Description |
|
||||
|---|---|---|
|
||||
| 0.9.2 | 2026-05-14 | Initial migration map from package filenames to repo docs paths. |
|
||||
| 0.9.3 | 2026-05-14 | Added §3 Implementation Path Layout recording the DEC-022 directory adoption (apps/, core/, crates/) as the workspace was first scaffolded on `product/scaffold-v0`. |
|
||||
|
||||
Reference in New Issue
Block a user