Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .decapod/governance/claims.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"ledger_id": "project-research-claims",
"title": "Project Falsifiable Research Claims",
"purpose": "Provide a schema-valid starting point for repository-owned, evidence-bounded claims.",
"authority": {"owner":"Project maintainers","source_issue":"https://github.com/DecapodLabs/decapod/issues/1025","status":"active","created_at":"2026-07-25","updated_at":"2026-07-25","change_policy":"Replace or extend this template through issue-scoped review while preserving baseline, condition, failure modes, measurements, and proof references. Dactyl now exposes a backend-neutral, connection-scoped datastore contract that covers Decapod SQLite operations without exposing rusqlite types; proof is the adapter contract and runtime analysis test suite."},
"authority": {"owner":"Project maintainers","source_issue":"https://github.com/DecapodLabs/decapod/issues/1025","status":"active","created_at":"2026-07-25","updated_at":"2026-07-25","change_policy":"Replace or extend this template through issue-scoped review while preserving baseline, condition, failure modes, measurements, and proof references. Dactyl now exposes a backend-neutral, connection-scoped datastore contract that covers Decapod SQLite operations without exposing rusqlite types; proof is the adapter contract and runtime analysis test suite. Issue #47 narrows dactyl-db to a thin SQLite and Vercel Neon application read/write driver; proof is the congruent adapter contract and passing Rust checks."},
"scope": {"product":"project","repository":"repository-owner/repository-name","in_scope":["repository capabilities with explicit evidence"],"out_of_scope":["unmeasured production performance","security guarantees without repository evidence"]},
"methodology": {"falsifiability_standard":"Every claim names a baseline, an observable condition, a failure mode, measurable evidence, and a proof gate.","evidence_statuses":["not_started","instrumented","partial","supported","falsified","superseded"],"measurement_rules":[{"id":"proof-reference","name":"Proof reference","requirement":"A passing claim must identify the artifact or command that supports it.","unit":"proof_reference","evidence_source":"repository-native governance artifacts"}]},
"claims": [{
Expand Down
28 changes: 28 additions & 0 deletions .decapod/governance/plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"schema_version": "1.0.0",
"title": "Thin Dactyl SQLite and Neon application driver",
"intent": "Ship one congruent read(sql, params) and write(sql, params) facade for read/write-heavy applications over local SQLite and Vercel Neon. Use private adapters, typed values, normalized rows, affected counts, and typed errors; exclude schema administration, transactions, query analysis or rewriting, retries, analytics, and business intelligence.",
"state": "APPROVED",
"todo_ids": [
"code_01kzb14pzzgekyfs"
],
"proof_hooks": [
"cargo fmt --all -- --check",
"cargo clippy --all-targets --all-features -- -D warnings",
"cargo test --all-features",
"cargo test"
],
"unknowns": [],
"human_questions": [],
"stop_conditions": [
"Stop if the SQLite and Neon read/write contracts cannot remain congruent without adding backend administration or query intelligence."
],
"unresolved_contradictions": [],
"deferred_questions": [],
"constraints": {
"forbidden_paths": [],
"file_touch_budget": null
},
"phases": [],
"updated_at": "1786003599Z"
}
203 changes: 203 additions & 0 deletions .decapod/governance/trajectory.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
{
"schema_version": "1.1.0",
"run_id": "validation_01KZB2S1AFQ708TDRS6BAR17TH",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"task_id": "code_01kzb14pzzgekyfs",
"original_intent": "Produce proof artifacts for a repository validation completion.",
"derived_intent": "Run the bounded validation gates and bind the successful receipt to a trajectory.",
"destination": "validation completion",
"current_phase": "validation",
"next_transitions": [
"publish"
],
"active_boundaries": [
"Repository validation and tracked proof artifacts"
],
"repo_scope": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json"
],
"inspected_files": [],
"modified_files": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json"
],
"declared_commands": [
"decapod validate"
],
"tool_calls": [],
"checks": [
{
"name": "decapod validate",
"status": "passed"
}
],
"evidence": [
"validation epoch ve_df73bc67cd796539 completed with zero failures",
"validation epoch ve_f4d27fb540d3293f completed with zero failures"
],
"shortcut_risk_signals": [],
"unresolved_assumptions": [],
"proof_status": "passed",
"verdicts": {
"intent_alignment": "supported",
"boundary_discipline": "supported",
"shortcut_risk": "supported",
"completion_proof": "supported"
},
"artifact_hash": "sha256:29be254e0d8124eeed6b0522b83978dc186078370eae86ac9e05c9d22bfa8413",
"custody": {
"schema_version": "1.0.0",
"intents": {
"intent:validation_01KZB2S1AFQ708TDRS6BAR17TH": {
"id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"raw_intent": "Produce proof artifacts for a repository validation completion.",
"refined_intent": "Run the bounded validation gates and bind the successful receipt to a trajectory.",
"acceptance_criteria": [],
"constraints": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json"
],
"assumptions": [],
"boundaries": [
"Repository validation and tracked proof artifacts"
],
"out_of_scope": [],
"proof_requirements": [],
"status": "refined",
"created_sequence": 1,
"updated_sequence": 3
}
},
"events": [
{
"sequence": 2,
"event_id": "event:2",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"kind": "created"
},
{
"sequence": 3,
"event_id": "event:3",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"kind": "refined"
},
{
"sequence": 4,
"event_id": "event:4",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"kind": "trajectory_step_recorded",
"detail": "trajectory:validation_01KZB2S1AFQ708TDRS6BAR17TH"
},
{
"sequence": 5,
"event_id": "event:5",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"kind": "trajectory_step_recorded",
"detail": "trajectory:validation_01KZB2S1AFQ708TDRS6BAR17TH"
},
{
"sequence": 6,
"event_id": "event:6",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"kind": "trajectory_step_recorded",
"detail": "trajectory:validation_01KZB2S1AFQ708TDRS6BAR17TH"
},
{
"sequence": 7,
"event_id": "event:7",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"kind": "trajectory_step_recorded",
"detail": "trajectory:validation_01KZB2S1AFQ708TDRS6BAR17TH"
}
],
"trajectories": {
"validation_01KZB2S1AFQ708TDRS6BAR17TH": {
"id": "validation_01KZB2S1AFQ708TDRS6BAR17TH",
"intent_id": "intent:validation_01KZB2S1AFQ708TDRS6BAR17TH",
"evidence_only": true,
"steps": [
{
"sequence": 4,
"action": "validation",
"command": "decapod validate",
"scope": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json"
],
"observations": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json",
"validation epoch ve_f4d27fb540d3293f completed with zero failures"
],
"proof_refs": [
"decapod validate"
],
"validation_findings": [],
"custody_event_id": "event:4"
},
{
"sequence": 5,
"action": "validation",
"command": "decapod validate",
"scope": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json"
],
"observations": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json",
"validation epoch ve_f4d27fb540d3293f completed with zero failures"
],
"proof_refs": [
"decapod validate"
],
"validation_findings": [],
"custody_event_id": "event:5"
},
{
"sequence": 6,
"action": "validation",
"command": "decapod validate",
"scope": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json"
],
"observations": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json",
"validation epoch ve_df73bc67cd796539 completed with zero failures"
],
"proof_refs": [
"decapod validate"
],
"validation_findings": [],
"custody_event_id": "event:6"
},
{
"sequence": 7,
"action": "validation",
"command": "decapod validate",
"scope": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json"
],
"observations": [
".decapod/governance/trajectory.json",
".decapod/governance/validation.json",
"validation epoch ve_df73bc67cd796539 completed with zero failures"
],
"proof_refs": [
"decapod validate"
],
"validation_findings": [],
"custody_event_id": "event:7"
}
]
}
},
"summaries": {},
"knowledge_candidates": [],
"next_sequence": 7
}
}
Loading
Loading