Skip to content

docs: operationalize Coven Automations v1 tracker roadmap and drift check (coven#859) - #3

Open
CompleteDotTech wants to merge 3 commits into
mainfrom
agent/issue-859-p0-control-operationalize-coven-automations-v1
Open

docs: operationalize Coven Automations v1 tracker roadmap and drift check (coven#859)#3
CompleteDotTech wants to merge 3 commits into
mainfrom
agent/issue-859-p0-control-operationalize-coven-automations-v1

Conversation

@CompleteDotTech

@CompleteDotTech CompleteDotTech commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Summary

Files changed (4 files, +1318)

Issue

Refs OpenCoven#859.

Vehicle note: opened in the fork CompleteDotTech/coven as the CI vehicle — this token cannot write to OpenCoven/coven. Re-target upstream once write access is restored. Refs OpenCoven#859.

Deliberately not Closes: the issue's own completion semantics keep OpenCoven#816 open until its evidence checklist is done, and OpenCoven#859 spans bead provisioning in OpenCoven/coven-cave#5220 (outside this repository). Closing on merge would close work that is only partially established; per OpenCoven#859, a GitHub issue is not closed merely because partial implementation landed.

Test plan

Checked = ran locally in this checkout (node v24.16.0, no Rust toolchain, no python3):

  • node docs/roadmaps/drift-check.mjs --selftest — all 11 drift fixtures and 6 sensitive-payload rules detected (exit 0)
  • node docs/roadmaps/drift-check.mjs — 0 errors; 6 × W010 pending-provisioning warnings, exit 0
  • node docs/roadmaps/drift-check.mjs --beads-export .beads/issues.jsonl run against the OpenCoven/coven-cave checkout export — 0 errors; confirms zero Automations v1 beads exist and no sensitive payloads in the export
  • node docs/roadmaps/drift-check.mjs --render — regenerated block is byte-identical to the committed one (idempotent)
  • node --check docs/roadmaps/drift-check.mjs; JSON parse of the mapping file
  • Secret scan + privacy guard mirrored locally in JS over the four changed files using the exact rule set from scripts/check-secrets.py / scripts/check-coven-privacy.py (python3 is unavailable locally) — clean
  • python3 scripts/check-secrets.py + python3 scripts/check-coven-privacy.py --range — deferred to CI (policy-guard runs them on this PR)
  • cargo fmt --check / cargo clippy / cargo test — deferred to CI; not applicable locally (no Rust toolchain) and not exercised by a docs-only diff (CI classification keeps Rust jobs skipped)

Risk and Rollback

Agent Handoff

CI note (checkless repository, draft→ready provenance)

  • No CI exists on CompleteDotTech/coven: the repository has never run a GitHub Actions workflow (0 total workflow runs, confirmed 2026-08-30 via the Actions API) and the head SHA 83ba34a8a8d368d408c6637a424a0dfa4c8e0ca7 reports check-runs total_count: 0. Per the draft-until-green contract for a checkless repository, there is no CI verdict to report; upstream OpenCoven/coven checks (policy-guard: secret scan, privacy guard; docs-only classification skips Rust jobs) will run when this branch is re-targeted upstream.
  • Ladder provenance: the upstream PR attempt (gh pr create --repo OpenCoven/coven ..., 2026-08-30T15:24Z) failed with GraphQL: Resource not accessible by personal access token (createPullRequest); this fork PR is the working CI vehicle.
  • Draft→ready provenance: the PR was created as a draft at 2026-08-30T15:25:09Z; a ready_for_review event was recorded at 2026-08-30T15:26:16Z by actor CompleteDotTech — the shared token identity used by concurrent sweeps — before any check could report. This session did not merge the PR and did not use GraphQL to change draft state; the REST API cannot convert a PR back to draft. End state (ready, unmerged) matches the checkless-repo contract outcome.

CompleteDotTech and others added 3 commits August 30, 2026 12:24
…854) (OpenCoven#861)

Adds one dated status/decision record for issue OpenCoven#854 in docs/superpowers/plans/.

Independently verified against main @ 1364cec (2026-08-30): the coven#816
foundation series (PR OpenCoven#846, PR OpenCoven#847, parts 6-8 commits) landed the durable
local scheduler core - definitions, SQLite definition/occurrence/run records
with unique occurrence fencing, RRULE planning, bounded leases with expiry
recovery, latest-only misfire / overlap refusal, the 60s daemon tick with
scheduled dispatch, shared launch path, health and run history,
non-destructive paused legacy import, and coven.automations.* control
actions. Records what is still absent for v1 (versioned protocol schemas,
authority/receipt binding, deterministic-time contract, SDK surface,
conformance/chaos/SLO gates, live Beads mutation), the gate-by-gate verdict,
and the critical path. The program issue remains open; this record closes
no issue.

Refs OpenCoven#854.

Signed-off-by: Timothy Wayne Gregg <5861166+CompleteDotTech@users.noreply.github.com>
…oven#815) (OpenCoven#871)

* docs: plan cryptographic fresh-user and biometric assurance proofs (coven#815)

Specify COVEN-ASSURANCE/1, an independently verifiable step-up proof so
request authentication can satisfy FreshUserVerification/FreshBiometric
grant requirements without trusting client-asserted assurance levels.

The plan defines: possession/step-up key separation; binding the optional
step-up authorization key and its declared assurance class into the
pairing-v2 transcript; a separate authorization-key store; canonical
proof bytes over device, grant, revocation epoch, exact request or
DeviceActionIntent digest, server-issued single-use challenge, window,
and requested assurance; server-side effective assurance computed as
min(claimed, class ceiling) and passed to DeviceGrant::authorize;
fail-closed possession-only degradation; rotation/revocation semantics;
iOS/Android platform mapping; a self-verifying synthetic golden vector;
and TypeScript/JSON Schema for implementers. Every claim cites the
current mobile_memory code path it builds on.

No code changes: this is the design artifact the issue asks for.

Signed-off-by: Timothy Wayne Gregg <5861166+CompleteDotTech@users.noreply.github.com>

* docs(mobile): specify COVEN-ASSURANCE/1 step-up assurance proofs

Add docs/design/mobile-assurance-step-up-v1.md, the plan and
implementation contract for issue OpenCoven#815: a separately enrolled,
platform-policy-protected step-up authorization key, bound into the
pairing-v2 transcript before grant issuance, whose fresh signatures
over canonical COVEN-ASSURANCE/1 bytes (device, grant, revocation
epoch, exact request or DeviceActionIntent digest, single-use server
challenge, validity window, requested assurance) are the only way to
raise assurance above possession. The server verifies the signature,
computes effective assurance itself, and passes it to
DeviceGrant::authorize; absent/invalid/expired/replayed proofs fail
closed. Covers storage separate from the possession key, replay
protection independent of request nonces, rotation/revocation
semantics, iOS/Android key-policy mapping, a security-invariant
mapping, TypeScript types + JSON Schema, and a portable golden vector.
Design artifact only; no behavior change.

Refs OpenCoven#815

Signed-off-by: Timothy Wayne Gregg <5861166+CompleteDotTech@users.noreply.github.com>

---------

Signed-off-by: Timothy Wayne Gregg <5861166+CompleteDotTech@users.noreply.github.com>
…heck (coven#859)

Establish the GitHub-side half of the OpenCoven#859 operational delivery graph:

- docs/roadmaps/coven-automations-v1.md: program roadmap with canonical
  tracker roles, sync metadata, P0/P1/P2 policy, generated outcome-mapping
  table, dependency graph, release gates, active blockers, and drift
  detection usage. The mapping table block is generated by
  docs/roadmaps/drift-check.mjs --render and verified on every run.
- docs/roadmaps/coven-automations-v1.mapping.json: machine-readable
  one-to-one Bead <-> GitHub mapping for OpenCoven#854, OpenCoven#816, OpenCoven#855, OpenCoven#856, OpenCoven#857,
  and OpenCoven#858, with explicit dependencies, acceptance gates, dispositions,
  and evidence links. Bead IDs stay null (warn-level W010) until
  provisioning lands through OpenCoven/coven-cave#5220 per the
  operational correction on OpenCoven#859; no competing Beads store is created
  in this repository.
- docs/roadmaps/drift-check.mjs: credential-free, offline drift check
  covering state, priority, parent/dependency, evidence, generated-mirror,
  duplicate/missing mapping, cycle, and sensitive-payload drift classes,
  with --beads-export cross-checking and --selftest proving detection.
- docs/superpowers/plans/2026-08-30-issue-859-coven-automations-v1-...md:
  dated status/decision record: what exists on main (automations series
  landed 2026-08-28 via PRs OpenCoven#846/OpenCoven#847), pre-change integrity report,
  decisions D1-D7, verdict against the OpenCoven#859 acceptance criteria,
  remaining work, critical path, and the initial evidence packet.

Refs OpenCoven#859

Signed-off-by: Timothy Wayne Gregg <5861166+CompleteDotTech@users.noreply.github.com>

fix: keep automation tracker docs scanner-safe

Signed-off-by: Timothy Wayne Gregg <5861166+CompleteDotTech@users.noreply.github.com>
@CompleteDotTech
CompleteDotTech force-pushed the agent/issue-859-p0-control-operationalize-coven-automations-v1 branch from 83ba34a to 91a005d Compare August 30, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant