the-mindscape-of-bro-tsong/docs/DECISIONS.md

156 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Decision Log
## Decision 001: File-first architecture
Status: Accepted
Reason:
The MVP should remain simple, local, transparent, and easy to inspect.
A database is unnecessary before the model card schema and extraction protocol are stable.
## Decision 002: JSON for machine-readable model data
Status: Accepted
Reason:
JSON is easy to validate with JSON Schema and suitable for later integration into scripts, selectors, or applications.
## Decision 003: Markdown for human-readable model cards
Status: Accepted
Reason:
Markdown is easier for the project owner to read, edit, and review.
## Decision 004: QPI and Intellectual Archaeology as first sample models
Status: Accepted
Reason:
QPI represents a routing model.
Intellectual Archaeology represents a deep modeling model.
Together they test two different kinds of model structures.
## Decision 005: Rule-based selector in v0.1
Status: Accepted
Reason:
The first selector should validate data structure and model routing logic without relying on LLM calls.
## Decision 006: Use product root instead of a nested phase directory
Status: Accepted
Reason:
`the-mindscape-of-bro-tsong` is the product and system boundary.
`model_library_mvp` is the current phase and subsystem goal, not a separate root project.
The repository should not start as `the-mindscape-of-bro-tsong/model_library_mvp/` because that would add unnecessary root-vs-subproject ambiguity before the product needs a monorepo layout.
## Decision 007: Use supplier request channels for CCPE and skills-vault
Status: Accepted
Reason:
This repository is a product and application workspace. It should not silently absorb expert-agent specification work or reusable automation Skill source work.
Requests for agents, runtimes, model governance, invocation protocols, evaluation rules, and integration registrations should be recorded under `requirements/ccpe/`.
Requests for deterministic reusable automation tools and installable Skills should be recorded under `requirements/skills-vault/`.
If a supplier capability blocks model extraction, the dependent extraction step should pause unless the project owner explicitly says to solve the need locally.
## Decision 008: Third-party frameworks belong to product implementation, not CCPE or skills-vault
Status: Accepted
Reason:
Frameworks such as CrewAI and LangGraph may be useful later for implementing product behavior. The concrete application adapters, state, deployment, and product runtime belong in this repository.
CCPE may define the agent contract, runtime governance, authority, evaluation, and integration registration.
skills-vault may provide reusable deterministic helper Skills discovered during implementation.
## Decision 009: Use `intellectual_archaeology` as the machine model ID
Status: Accepted
Reason:
The source article names the model **“思想考古学”Intellectual Archaeology**.
The machine-readable ID should use the stable English snake_case form `intellectual_archaeology`, while the human-facing model name remains Chinese.
## Decision 010: Keep field names English and field content Chinese
Status: Accepted
Reason:
English field names make JSON easier to validate and integrate.
Chinese field values preserve source-language meaning and avoid translation drift during model extraction.
## Decision 011: GPT plans must be localized before implementation
Status: Accepted
Reason:
GPT planning documents may not know the current local repository state, existing constraints, missing contracts, or prior owner decisions.
Codex must first convert each GPT plan into local rules, schemas, indexes, workflow, tooling expectations, and validation gates before implementing content.
Content extraction or content repair must not begin from a GPT plan until the local foundation has been reviewed, unless the project owner explicitly overrides the gate.
## Decision 012: Maintain indexes by script-backed synchronization
Status: Accepted
Reason:
`models/model_index.json` is the machine discovery entrypoint, and `cards/card_index.md` is the human review entrypoint.
They should follow source assets instead of becoming separate hand-maintained content sources.
Every asset change must incrementally synchronize the indexes, and handoff or release points must run a full rebuild or consistency check.
The current rule is:
```text
incremental update on every model/card/source/test change
+
full rebuild or full reconciliation at release, handoff, schema migration, batch expansion, or validation drift
```
Model status remains an owner / ChatGPT / CCRA decision; validation and index rebuilds must not upgrade `draft` to a stronger state automatically.
## Decision 013: Archive CCRA review bundles by round
Status: Accepted
Reason:
The first compressed CCRA review bundle was generated as flat files under `ccra_review_bundle/`. That works for a single handoff, but it becomes ambiguous once later rounds produce new `00_OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF.md`, command logs, diffs, and raw changed files.
`ccra_review_bundle/` is now the archive root. Each review round must live in a dated subdirectory:
```text
ccra_review_bundle/round-NN_YYYY-MM-DD_topic/
```
This keeps second-round and third-round materials comparable without overwriting prior evidence. Temporary review bundles remain session evidence and should not be copied into `knowledge_assets/`.