Physically move the pure-code subtrees out of .specify into the package, leaving compat symlinks at the old .specify/<dir> paths so every existing reference (internal CASAN_HARNESS_ROOT + external CI/docker/mjs) keeps resolving. Runtime state stays put. Moved (git mv): scripts/ tests/ security/ templates/ config/ governance/ memory/ .specify/<dir> -> packages/casan-harness/<dir> (+ .specify/<dir> symlink) Stays in .specify (state/governance/domain, handled later): logs/ agentops/ level5/ init-options.json traceability-map.json Python `.resolve()` self-location followed the compat symlink into packages and lost the app root; generate-casan-demo-context.py, generate-agentops-dashboard.py and dashboard-server.py now walk UP for the `.specify` state marker instead of a fixed parent depth (fixes "missing trace files" in run-casan4). Full gate: PASS=64 FAIL=0 SKIP=3 (CASAN_CI_STEP_TIMEOUT_SEC=1200 — track-a ~450s runs close to the 600s default and can tip over under load; this is timing variance, not a regression — it passed cleanly with headroom). Runtime log/audit artifacts kept unstaged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
51 lines
2.3 KiB
Markdown
51 lines
2.3 KiB
Markdown
# [PROJECT_NAME] Constitution
|
|
<!-- Example: Spec Constitution, TaskFlow Constitution, etc. -->
|
|
|
|
## Core Principles
|
|
|
|
### [PRINCIPLE_1_NAME]
|
|
<!-- Example: I. Library-First -->
|
|
[PRINCIPLE_1_DESCRIPTION]
|
|
<!-- Example: Every feature starts as a standalone library; Libraries must be self-contained, independently testable, documented; Clear purpose required - no organizational-only libraries -->
|
|
|
|
### [PRINCIPLE_2_NAME]
|
|
<!-- Example: II. CLI Interface -->
|
|
[PRINCIPLE_2_DESCRIPTION]
|
|
<!-- Example: Every library exposes functionality via CLI; Text in/out protocol: stdin/args → stdout, errors → stderr; Support JSON + human-readable formats -->
|
|
|
|
### [PRINCIPLE_3_NAME]
|
|
<!-- Example: III. Test-First (NON-NEGOTIABLE) -->
|
|
[PRINCIPLE_3_DESCRIPTION]
|
|
<!-- Example: TDD mandatory: Tests written → User approved → Tests fail → Then implement; Red-Green-Refactor cycle strictly enforced -->
|
|
|
|
### [PRINCIPLE_4_NAME]
|
|
<!-- Example: IV. Integration Testing -->
|
|
[PRINCIPLE_4_DESCRIPTION]
|
|
<!-- Example: Focus areas requiring integration tests: New library contract tests, Contract changes, Inter-service communication, Shared schemas -->
|
|
|
|
### [PRINCIPLE_5_NAME]
|
|
<!-- Example: V. Observability, VI. Versioning & Breaking Changes, VII. Simplicity -->
|
|
[PRINCIPLE_5_DESCRIPTION]
|
|
<!-- Example: Text I/O ensures debuggability; Structured logging required; Or: MAJOR.MINOR.BUILD format; Or: Start simple, YAGNI principles -->
|
|
|
|
## [SECTION_2_NAME]
|
|
<!-- Example: Additional Constraints, Security Requirements, Performance Standards, etc. -->
|
|
|
|
[SECTION_2_CONTENT]
|
|
<!-- Example: Technology stack requirements, compliance standards, deployment policies, etc. -->
|
|
|
|
## [SECTION_3_NAME]
|
|
<!-- Example: Development Workflow, Review Process, Quality Gates, etc. -->
|
|
|
|
[SECTION_3_CONTENT]
|
|
<!-- Example: Code review requirements, testing gates, deployment approval process, etc. -->
|
|
|
|
## Governance
|
|
<!-- Example: Constitution supersedes all other practices; Amendments require documentation, approval, migration plan -->
|
|
|
|
[GOVERNANCE_RULES]
|
|
<!-- Example: All PRs/reviews must verify compliance; Complexity must be justified; Use [GUIDANCE_FILE] for runtime development guidance -->
|
|
|
|
**Version**: [CONSTITUTION_VERSION] | **Ratified**: [RATIFICATION_DATE] | **Last Amended**: [LAST_AMENDED_DATE]
|
|
<!-- Example: Version: 2.1.1 | Ratified: 2025-06-13 | Last Amended: 2025-07-16 -->
|