140 lines
5.4 KiB
JSON
140 lines
5.4 KiB
JSON
{
|
|
"task_id": "DEV-000068",
|
|
"task_revision": 1,
|
|
"architecture_revision": "ADR-0016",
|
|
"base_repo_revision": "67ff1f73cddfd94f9f5745acc87f997aed49630a",
|
|
"risk_tier": "E",
|
|
"intent": "Activate the first production runtime Experience and Reflection loop for meaningful /chat, HumanResponse, capability and fast-path outcomes without creating a LearningManager.",
|
|
"requirement_ids": [
|
|
"ADR-0016",
|
|
"INV-OWN-001",
|
|
"INV-EPI-001",
|
|
"Runtime Experience capture",
|
|
"Runtime ReflectionCandidate triggers",
|
|
"SkillEvidence from real reminder response outcomes",
|
|
"Fast-path decline returns to reasoning/clarification"
|
|
],
|
|
"allowed_change_scope": {
|
|
"modules": [
|
|
"epistemics",
|
|
"capability",
|
|
"interaction",
|
|
"continuity"
|
|
],
|
|
"paths": [
|
|
"contracts/epistemics/**",
|
|
"contracts/capability/**",
|
|
"modules/epistemics/**",
|
|
"modules/capability/**",
|
|
"adapters/postgres/**",
|
|
"database/migrations/**",
|
|
"cmd/core-runtime/**",
|
|
"cmd/creator-web/**",
|
|
"cmd/continuity-runtime/**",
|
|
"deploy/docker-compose.dev.yml",
|
|
"deploy/docker-compose.prod.yml",
|
|
"deploy/images/002_owner_passwords.sh",
|
|
"deploy/windows/**",
|
|
"tests/owner_acl/**",
|
|
"tests/cognitive_advisory/**",
|
|
"docs/PROJECT_STATUS.md",
|
|
"dev/ACTIVE_TASK.json",
|
|
"dev/tasks/DEV-000068-runtime-experience-reflection-loop.json"
|
|
]
|
|
},
|
|
"forbidden_change_scope": {
|
|
"paths": [
|
|
"architecture/ARCHITECTURE_CONSTITUTION.md",
|
|
"modules/authority/**",
|
|
"modules/commit/**",
|
|
"cmd/commit-runtime/**",
|
|
"security/**",
|
|
"ci/**",
|
|
".gitea/**"
|
|
]
|
|
},
|
|
"allowed_architecture_delta": {
|
|
"new_cross_module_dependencies": 0,
|
|
"new_canonical_owners": 0,
|
|
"new_privileges": 0,
|
|
"new_third_party_dependencies": 0,
|
|
"new_provider_adapters": 0,
|
|
"new_runtime_secret_file_for_existing_owner": "epistemics_role database password for core-runtime"
|
|
},
|
|
"contracts": {
|
|
"consume": [
|
|
"Interaction HumanUtterance / OriginalHumanIntent / Correction refs",
|
|
"Continuity HumanResponse / Attention / ProspectiveItem refs",
|
|
"Capability CapabilityUsageObservation / CapabilityGap / SkillProfile",
|
|
"Epistemics SystemExpectation / ExperienceRecord / ReflectionCandidate"
|
|
],
|
|
"may_change": [
|
|
"contracts/epistemics@v1",
|
|
"contracts/capability@v1"
|
|
]
|
|
},
|
|
"semantic_owner": "epistemics",
|
|
"canonical_state": [
|
|
"SystemExpectation",
|
|
"ExperienceRecord",
|
|
"ReflectionCandidate",
|
|
"SkillProfile"
|
|
],
|
|
"state_transitions": [
|
|
"meaningful chat help path -> SystemExpectation before outcome",
|
|
"HumanResponse resolved COMPLETE/SNOOZE/CANCEL -> positive ExperienceRecord and SkillProfile supporting evidence",
|
|
"Human correction -> USER_CORRECTED ExperienceRecord and ReflectionCandidate",
|
|
"ambiguous/no-target/unsupported fast path -> decline/clarification ExperienceRecord and ReflectionCandidate",
|
|
"repeated failure/correction evidence -> SkillProfile DEGRADED/SUSPENDED according to deterministic policy"
|
|
],
|
|
"side_effects_and_privileges": [
|
|
"No external mutation is introduced",
|
|
"No model output can directly mutate canonical state, Authority, source code, deployment or skill lifecycle",
|
|
"Core runtime receives only the existing Epistemics owner database credential through secret-file/CredentialRef mechanism",
|
|
"Creator Web remains a proxy/UI and receives no direct database credential",
|
|
"Docker-test remains prohibited"
|
|
],
|
|
"persistence_and_migrations": [
|
|
"no new canonical owner",
|
|
"no cross-owner FK",
|
|
"no cross-owner SQL join dependency",
|
|
"reuse DEV-000067 tables with optional indexes/projections only if needed"
|
|
],
|
|
"failure_retry_restart": [
|
|
"Experience/reflection capture is append-only and idempotent by generated IDs",
|
|
"A failed learning write must not pretend success; production acceptance verifies rows",
|
|
"Fast-path decline is valid safety behavior and does not mutate target state"
|
|
],
|
|
"assumptions": [
|
|
"DEV-000067 production foundation is active",
|
|
"ADR-0016 is sufficient; no new architecture owner is required",
|
|
"V1 uses deterministic reflection triggers; cognitive reflection remains optional candidate generation only"
|
|
],
|
|
"acceptance_scenarios": [
|
|
"Create reminder then complete it -> positive ExperienceRecord and SkillProfile supporting evidence",
|
|
"Create ambiguous targets and correct Domovoy -> USER_CORRECTED ExperienceRecord and ReflectionCandidate",
|
|
"Unsupported/uncertain response phrasing -> fast path declines and asks clarification/falls back without guessed mutation",
|
|
"Operator can inspect recent ExperienceRecords, ReflectionCandidates and SkillProfile status",
|
|
"Human chat does not expose internal learning IDs",
|
|
"LLM-free operation passes"
|
|
],
|
|
"required_tests": [
|
|
"go test ./...",
|
|
"go vet ./...",
|
|
"go run ./cmd/devctl preflight -active dev/ACTIVE_TASK.json",
|
|
"go run ./cmd/devctl check-architecture",
|
|
"go run ./cmd/devctl check-diff -active dev/ACTIVE_TASK.json",
|
|
"tests/cognitive_advisory/cognitive_worker_env_policy_test.ps1",
|
|
"tests/owner_acl/verify.ps1 -DockerContext docker-prod -PostgresContainer assistant-postgres-1",
|
|
"production live learning acceptance A/B/C",
|
|
"production health",
|
|
"production /chat verification"
|
|
],
|
|
"terminal_gap_states": [
|
|
"BLOCKED_BY_ARCHITECTURE_GAP",
|
|
"BLOCKED_BY_SPEC_GAP",
|
|
"BLOCKED_BY_MISSING_CAPABILITY",
|
|
"BLOCKED_BY_CONFLICT"
|
|
]
|
|
}
|