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:
EdisonJwa
2026-05-14 21:02:16 +08:00
parent 974dda9601
commit e0f34009d9
2 changed files with 80 additions and 2 deletions
+54
View File
@@ -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.