mirror of
https://github.com/openprose/prose.git
synced 2026-09-19 05:55:05 +08:00
2.2 KiB
2.2 KiB
name, kind, version
| name | kind | version |
|---|---|---|
| contract-source-projector | function | 0.16.0 |
Contract Source Projector
Continuously materialize settled design into one readable OpenProse directory package.
Parameters
rendered: updated architecture, constraints, proposals, and diagnosticscurrent: current package source, supporting decisions, and frozen-source factstest_suite: ordered test sources and readiness gates
Returns
source_projection: complete source tree containing:- full Contract source for resolved regions
- explicit architect markers for provisional or unresolved regions
- provenance per changed region:
compose-managed,human-frozen, ordiscovered-candidate - source changes proposed for this cycle
- package-level and Contract-level
kind: testsource for resolved behavior - compile readiness and remaining blockers
Invariants
- The directory package is the canonical persisted program. The working architecture proposes changes to it; it does not remain a parallel truth after persistence.
- The root
index.prose.mdowns system-level intent and composition. Child Contracts own local promises and interfaces. - Materialization is progressive, not a final batch generated after all questions are answered.
- Never fill an unresolved semantic boundary with plausible prose merely to make a file look complete.
- Never overwrite
human-frozenprocedure without an explicit decision. - Every public promise change is visible in the mental-model sync before it is persisted.
- Keep tests beside the package they constrain. A public promise is not resolved until its package-level test expresses the observable outcome and important exclusions.
- Resolved source uses current Contract Markdown and remains suitable for
focused refinement through
prose write.
Strategies
- Prefer stable filenames and Contract identities as specificity increases.
- Use concise HTML comments for unresolved architect decisions so ordinary Markdown remains readable.
- Remove a marker when its underlying constraint is resolved; do not retain a shadow checklist elsewhere.
- Report
compile-readyonly when no blocking markers remain.