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 .github/governance/main-branch-baseline.v1.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema": "vone.github-main-governance/v1",
"repository": "eimyroot/V-One",
"repository": "eimyroot/Voodoo-One",
"branch": "main",
"desired": {
"pull_request_required": true,
Expand Down
48 changes: 30 additions & 18 deletions CURRENT_PRODUCT_STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
## Snapshot identity

```text
AS_OF: 2026-08-24
AS_OF: 2026-09-06
EXACT_LIVE_GIT_IDENTITY: QUERY_LIVE_GIT_DIRECTLY
CANONICAL_REPOSITORY: eimyroot/Voodoo-One
RECONCILIATION_INPUT_HEAD: 3106ba95125a13adb8e0ee867fbf341d2d2e776e
RECONCILIATION_BASE_MAIN: 3106ba95125a13adb8e0ee867fbf341d2d2e776e
RECONCILIATION_MERGE: PR #140 / 60bc9c26813ee23c73bac194a9adb27714e8a1e8
Expand Down Expand Up @@ -55,7 +56,7 @@ RELEASED / DEPLOYED = separately governed states
| Restart-safe durable resume | **IMPLEMENTED / MERGED via PR #140** |
| Runtime resume wiring | **IMPLEMENTED / MERGED via PR #140** |
| G7 post-merge verification | **VERIFIED on `main@60bc9c268...` by CI #1015, D4 #202, E3 #193, E4B #189** |
| GitHub G0 governance | **VERIFIED / PASS** |
| GitHub G0 governance | **UNKNOWN / fresh post-rename exact-main verification required** |
| Default provider runtime pack | **DISABLED / FAIL-CLOSED** |
| Real canonical HTTP READ E2E using default G8 pack | **BLOCKED / NOT YET VERIFIED** |
| Provider WRITE activation | **BLOCKED** |
Expand All @@ -66,9 +67,14 @@ RELEASED / DEPLOYED = separately governed states
| Deployment | **NOT PERFORMED** |
| CyberCore | **BLOCKED pending product/release-governance hardening** |

## G0 live GitHub governance
## G0 GitHub governance — current vs historical evidence

G0 is no longer an unresolved blocker. The exit gate is tied to identifiable live evidence:
Current canonical repository identity is `eimyroot/Voodoo-One`. No fresh post-rename G0 run is yet
retained for the exact current `main` SHA, so current G0 state is deliberately `UNKNOWN` and the
release-candidate governance gate remains fail-closed until fresh live evidence exists.

The following retained artifact remains valid historical evidence for the repository identity and
source SHA that existed when it ran:

```text
workflow = g0-governance-verify
Expand All @@ -80,25 +86,30 @@ artifact = g0-governance-evidence-32553113424-1
artifact_id = 9470619984
artifact_digest = sha256:6e63caee23a57613471df66ef0279c0261ed8d375e4c929accdf50eff7dc4f5f
evidence_json_checksum = 11a99765485b63b70186037011d31c105dea8dd75b689e0036a8766d05e8137d
verdict = VERIFIED
historical_verdict = VERIFIED
```

The retained evidence verifies PR-only main, required `verify` from workflow `ci`, latest-head strict checks, force-push disabled, branch deletion disabled, conversation resolution, no ordinary admin/ruleset bypass, active rulesets, and verifier source binding.
That historical evidence verified PR-only main, required `verify` from workflow `ci`, latest-head
strict checks, force-push disabled, branch deletion disabled, conversation resolution, no ordinary
admin/ruleset bypass, active rulesets, and verifier source binding for its exact evidence scope. It
must not be reused as proof for the renamed current repository identity.

```text
REPO_ENFORCEMENT_CONTRACT = VERIFIED
GITHUB_SETTINGS_ENFORCED = VERIFIED
MAIN_PR_ONLY = VERIFIED
REQUIRED_CI = VERIFIED
FORCE_PUSH_DISABLED = VERIFIED
BRANCH_DELETE_DISABLED = VERIFIED
CONVERSATION_RESOLUTION = VERIFIED
ORDINARY_ADMIN_BYPASS_DISABLED = VERIFIED
P0_GITHUB_GOVERNANCE = PASS
G0 = PASS
REPO_ENFORCEMENT_CONTRACT = IMPLEMENTED
GITHUB_SETTINGS_ENFORCED = UNKNOWN
MAIN_PR_ONLY = UNKNOWN_CURRENT_G0
REQUIRED_CI = UNKNOWN_CURRENT_G0
FORCE_PUSH_DISABLED = UNKNOWN_CURRENT_G0
BRANCH_DELETE_DISABLED = UNKNOWN_CURRENT_G0
CONVERSATION_RESOLUTION = UNKNOWN_CURRENT_G0
ORDINARY_ADMIN_BYPASS_DISABLED = UNKNOWN_CURRENT_G0
P0_GITHUB_GOVERNANCE = BLOCKED_PENDING_FRESH_G0
G0 = UNKNOWN
```

G0 PASS does not authorize release or deployment.
A fresh G0 PASS on the exact post-repair `main` SHA may promote these current governance fields back to
`VERIFIED`; documentation, CI success, or the historical artifact cannot do so by inference. G0 PASS
does not authorize release or deployment.

## Canonical shared authority/execution prefix

Expand Down Expand Up @@ -294,12 +305,13 @@ This historical evidence does not authorize or prove any new provider mutation.
- Historical PR #125 technical merge/post-state is VERIFIED; separate pre-merge merge-authorization provenance remains **NOT VERIFIED** and is not rewritten.
- ADR-0018 records the R2 terminal-profile correction instead of silently rewriting older history.
- PR #128 reconciliation remains historical provenance; later G7 evidence does not rewrite it.
- Historical G0 run `32553113424` remains retained evidence for its original repository identity and exact source SHA; it is not current post-rename proof.

## Current release truth

```text
VOODOO_ALLOW_PRODUCTION_EFFECTS=false
G0_GITHUB_GOVERNANCE=PASS
G0_GITHUB_GOVERNANCE=UNKNOWN
G7_CANONICAL_READ_API=MERGED
G7_RESTART_SAFE_RESUME=MERGED
G8_DEFAULT_READ_RUNTIME=OFF
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ OperationProof != OperationCell
| Canonical FastAPI ProductComposition runtime seam | IMPLEMENTED / MERGED; explicit runtime factory required, default provider pack disabled |
| Canonical public READ operation API | IMPLEMENTED / MERGED via PR #137; reconciled with resume/runtime via PR #140 |
| Restart-safe durable READ resume | IMPLEMENTED / MERGED via PR #140 |
| GitHub main governance enforcement | VERIFIED / G0 PASS from retained live verifier evidence |
| GitHub main governance enforcement | UNKNOWN / fresh post-rename G0 required; historical VERIFIED evidence retained |
| Default provider runtime pack | BLOCKED / disabled until G8 |
| Real canonical HTTP READ E2E through default G8 pack | BLOCKED / not yet verified |
| Provider WRITE activation | BLOCKED pending repeated READ E2E + restart-safe verification gate |
Expand Down Expand Up @@ -157,8 +157,8 @@ deployment, or release.

## G0 governance evidence

The former GitHub-governance blocker is closed by retained live verifier evidence, not by documentation
or ordinary CI inference:
The repository retains historical live G0 evidence for the repository identity that was current when
the run executed:

```text
workflow = g0-governance-verify
Expand All @@ -169,8 +169,11 @@ artifact_digest = sha256:6e63caee23a57613471df66ef0279c0261ed8d375e4c929accdf50e
verdict = VERIFIED
```

This evidence established the G0 PASS controls in the current-state documents. G0 PASS remains separate
from provider runtime, release, and deployment authorization.
That artifact remains valid historical evidence only. The canonical repository is now
`eimyroot/Voodoo-One`; current G0 governance is therefore `UNKNOWN` until a fresh
`g0-governance-verify` run executes on the exact post-repair `main` SHA and independently verifies the
current repository identity and live ruleset. Historical G0 PASS never authorizes provider runtime,
release, or deployment.

## READ before WRITE

Expand Down Expand Up @@ -218,7 +221,7 @@ a new provider mutation is authorized.
- default G8 provider runtime and real product HTTP READ E2E remain blocked/unverified;
- provider WRITE remains blocked behind READ-before-WRITE evidence and separate effect authorization;
- no release/deployment inferred from CI, merge, Proof or Cell;
- GitHub main governance enforcement has retained live G0 VERIFIED evidence.
- historical G0 VERIFIED evidence is retained, while current post-rename GitHub governance remains UNKNOWN until fresh exact-main verification.

## Documentation

Expand Down
8 changes: 4 additions & 4 deletions docs/governance/GITHUB_MAIN_GOVERNANCE_BASELINE_V1.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# GitHub Main Governance Baseline v1

Status: PREPARED — repository-side contract with fail-closed live verifier
Status: PREPARED — repository-side contract repaired for `eimyroot/Voodoo-One`; fresh live G0 verification required

## Purpose

Expand Down Expand Up @@ -50,7 +50,7 @@ Product/runtime rule `no requester self-approval` remains a separate V-One autho
P0 is complete only when live GitHub configuration evidence proves the desired state. Acceptable evidence must include:

```text
repository = nulleimy/V-One
repository = eimyroot/Voodoo-One
branch = main
branch_head_sha = <exact current main sha>
verifier_source_sha = <same exact current main sha>
Expand All @@ -73,7 +73,7 @@ verified_at = <timestamp>
source = GitHub live repository settings/API
```

A repository document, CI pass, issue, PR description or previous observation is not sufficient evidence of GitHub-side enforcement.
A repository document, CI pass, issue, PR description or previous observation is not sufficient evidence of GitHub-side enforcement. A repository rename or transfer changes the identity being verified: a historical G0 PASS for a different repository identity remains historical evidence and is not reusable as current G0 proof.

## Machine verification

Expand Down Expand Up @@ -152,7 +152,7 @@ Examples that are `BLOCKED` when evidence is otherwise complete:
- PR-only flow, force-push blocking, deletion blocking or thread resolution is absent;
- any bypass actor is configured.

Only `VERIFIED` exits successfully. `BLOCKED` and `UNKNOWN` fail closed. A historical PASS is not reusable proof after GitHub ruleset/settings configuration changes.
Only `VERIFIED` exits successfully. `BLOCKED` and `UNKNOWN` fail closed. A historical PASS is not reusable proof after GitHub ruleset/settings configuration changes or repository-identity changes.

## Credential boundary

Expand Down
6 changes: 4 additions & 2 deletions docs/governance/REVIEW_BRANCH_PUBLICATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Skript odmítne pokračovat, pokud:
- pracovní strom není čistý,
- `HEAD` neodpovídá explicitnímu úplnému SHA,
- neprojde SHA-256 kontrola obou kanonických ústav,
- publication target URL není přesně `https://github.com/eimyroot/V-One.git`, nebo `origin` fetch URL není canonical URL ani explicitně povolený legacy alias `https://github.com/nulleimy/V-One.git`,
- publication target URL není přesně `https://github.com/eimyroot/Voodoo-One.git`, nebo `origin` fetch URL není canonical URL ani explicitně povolený fetch-only legacy alias `https://github.com/eimyroot/V-One.git` / `https://github.com/nulleimy/V-One.git`,
- cílová větev nezačíná `review/`,
- cílová větev je chráněná nebo má neplatný Git ref,
- `HEAD` není potomkem zadaného base refu,
Expand All @@ -25,7 +25,9 @@ Skript odmítne pokračovat, pokud:
- chybí přesná autorizační věta,
- vzdálené SHA po publikaci neodpovídá publikovanému `HEAD`.

Skript nepoužívá force push a nemění konfiguraci repozitáře.
Skript nepoužívá force push a nemění konfiguraci repozitáře. Legacy URL jsou přijatelné pouze jako
zdrojová `origin` fetch identita pro existující managed worktrees; nikdy nejsou povoleným publication
targetem.

Publikace aktuálně podporuje přesně base ref `origin/main`. Jiná hodnota
`--base-ref` je odmítnuta před freshness fetch.
Expand Down
30 changes: 19 additions & 11 deletions docs/product/CURRENT_CAPABILITIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
| Field | Value |
|---|---|
| Document status | Current-state inventory |
| Inventory audit date | `2026-08-24` |
| Inventory audit date | `2026-09-06` |
| Canonical repository | `eimyroot/Voodoo-One` |
| Canonical post-G7 merge | PR #140 / `60bc9c26813ee23c73bac194a9adb27714e8a1e8` |
| Exact live Git identity | Query live Git directly; never self-embed a commit as "current" |
| Historical reconciliation merge | PR #128 / `d9e27ff17b76f29daba4a3421b11cc396826fe12` |
Expand Down Expand Up @@ -91,12 +92,12 @@ Is it released/deployed?
| Security Intelligence R-SI1.1 | IMPLEMENTED | metadata + tests | intelligence-only; no execution/proof authority |
| Security Intelligence R-SI1.2 normalization | IMPLEMENTED | merged PR #135 | descriptive/context-only; no authority/runtime/effect widening |
| CyberCore integration | BLOCKED | product/release-governance hardening | cannot bypass V-One gates |
| Main GitHub governance policy | VERIFIED | G0 live run `32553113424`, artifact digest `sha256:6e63caee23a57613471df66ef0279c0261ed8d375e4c929accdf50eff7dc4f5f` | release/deploy remain separate gates |
| Main required latest-head enforcement | VERIFIED | G0 live evidence: PR-only main, required `verify`, latest-head strict checks, no ordinary bypass | later repository changes still require the live rules to remain enforced |
| Main GitHub governance policy | UNKNOWN | historical G0 run `32553113424` remains VERIFIED for its original evidence scope | fresh exact-main G0 is required for current `eimyroot/Voodoo-One` identity |
| Main required latest-head enforcement | UNKNOWN | historical G0 verified PR-only main, required `verify`, latest-head strict checks and no ordinary bypass for its then-current repository identity | current post-rename enforcement must be re-verified live |
| G8 default READ provider runtime | BLOCKED | G8 gate defined; no default runtime activation yet | must be READ-only, explicit, separate Runner/Verifier credentials, fail-closed |
| Real canonical HTTP READ E2E + restart resume | BLOCKED | G7 components merged; G8 runtime not yet active | must prove HTTP→Runner→independent `VerificationResult/v1` plus no duplicate authority/effect after restart |
| Provider WRITE activation | BLOCKED | ADR-0019 safety decision is under governed adoption | not eligible before verified repeated READ E2E + restart-safe continuity |
| Release-candidate build | VERIFIED | fail-closed workflow + historical image/SBOM checks | build candidate != deployment |
| Release-candidate build | VERIFIED | fail-closed workflow + historical image/SBOM checks | build candidate != deployment; current RC construction is additionally blocked until fresh current G0 succeeds |
| Unrestricted production release | BLOCKED | production effects default disabled | G8 + real READ E2E + security/legal/ops/release gates remain |
| Public commercial distribution | BLOCKED | no distribution authorization | licensing/EULA/privacy/support and production gates remain separate |

Expand Down Expand Up @@ -174,9 +175,14 @@ The runtime factory must share the exact ProductService database and permission-
Without an explicit provider/runtime pack the default composition remains fail-closed. Workspace
membership is a scope check, not activation of the separately PROPOSED Solo/Team/Regulated policy.

## G0 live governance evidence
## G0 governance evidence — current vs historical

The former G0 blocker is closed by identifiable live evidence:
Current canonical repository identity is `eimyroot/Voodoo-One`. A fresh post-rename G0 observation on
the exact current `main` SHA has not yet been retained, so current GitHub governance status is
`UNKNOWN` and must fail closed for release-candidate promotion.

The following retained artifact remains VERIFIED historical evidence for the exact repository identity
and source SHA that existed when it ran:

```text
workflow = g0-governance-verify
Expand All @@ -187,12 +193,14 @@ artifact = g0-governance-evidence-32553113424-1
artifact_id = 9470619984
artifact_digest = sha256:6e63caee23a57613471df66ef0279c0261ed8d375e4c929accdf50eff7dc4f5f
evidence_json_checksum = 11a99765485b63b70186037011d31c105dea8dd75b689e0036a8766d05e8137d
verdict = VERIFIED
historical_verdict = VERIFIED
```

That evidence verified PR-only main, required `verify` from workflow `ci`, latest-head strict checks,
force-push and deletion disabled, conversation resolution, no ordinary bypass, active rulesets, and
source binding to the then-current main. G0 PASS is not release/deploy authorization.
That historical evidence verified PR-only main, required `verify` from workflow `ci`, latest-head
strict checks, force-push and deletion disabled, conversation resolution, no ordinary bypass, active
rulesets, and source binding for its exact evidence scope. It is not current post-rename proof. A fresh
G0 PASS on the exact repaired `main` may promote current GitHub governance back to `VERIFIED`; G0 never
authorizes release/deploy by itself.

## Verified historical complete operation atom

Expand Down Expand Up @@ -224,7 +232,7 @@ This is historical evidence for one real atom. It does not execute or authorize
VOODOO_ALLOW_PRODUCTION_EFFECTS=false
NEW_G7_PROVIDER_WRITE=NO
NEW_A09_PROVIDER_MUTATION=NO
G0_LIVE_ENFORCEMENT_VERIFIED=YES
G0_LIVE_ENFORCEMENT_VERIFIED=UNKNOWN_CURRENT
G8_DEFAULT_PROVIDER_RUNTIME=OFF
REAL_CANONICAL_READ_E2E_VERIFIED=NO
WRITE_RUNTIME_GATE=BLOCKED
Expand Down
21 changes: 13 additions & 8 deletions docs/product/OPERATIONS_RUNBOOK.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ or enable production effects. From any authenticated GitHub CLI working director
current candidate with:

```bash
gh workflow run release-candidate.yml --repo nulleimy/V-One --ref main \
gh workflow run release-candidate.yml --repo eimyroot/Voodoo-One --ref main \
-f version=0.9.0-rc2 -f confirmation=BUILD_RC
```

Expand All @@ -103,7 +103,7 @@ directory. Replace `RUN_ID` with the successful workflow run ID:
```bash
mkdir -p /tmp/v-one-rc-verify
cd /tmp/v-one-rc-verify
gh run download RUN_ID --repo nulleimy/V-One --name v-one-0.9.0-rc2 --dir .
gh run download RUN_ID --repo eimyroot/Voodoo-One --name v-one-0.9.0-rc2 --dir .
sha256sum --check SHA256SUMS.txt
```

Expand All @@ -114,10 +114,15 @@ attestations are generated and independently verified.
## Database migrations

SQLite migrations run automatically and atomically before the application starts accepting traffic.
The health response must report `database_backend: sqlite` and `schema_version: 9`. Never edit an
applied migration: its SHA-256 checksum is part of the database history and drift blocks startup.
Database unavailability or migration-history drift returns HTTP `503`, which makes the container
healthcheck fail instead of reporting a false-positive HTTP success.
The health response must report `database_backend: sqlite` and a `schema_version` equal to the highest
contiguous migration version bundled in the exact deployed artifact. Do not hard-code an expected
schema number in operational automation: derive or verify it from the artifact's
`voodoo_product/migrations/sqlite` set and reconcile it with `docs/product/DATABASE_MIGRATIONS.md`.
For the current source tree the highest bundled migration is `0014_workspace_memberships.sql`, so the
current expected schema is 14. Never edit an applied migration: its SHA-256 checksum is part of the
database history and drift blocks startup. Database unavailability or migration-history drift returns
HTTP `503`, which makes the container healthcheck fail instead of reporting a false-positive HTTP
success.

For an upgrade:

Expand All @@ -128,8 +133,8 @@ For an upgrade:
4. Copy the database, `-wal` and `-shm` files as one consistent backup set.
5. Deploy the new immutable application artifact while keeping production effects disabled.
6. Start exactly one instance and wait for migration completion.
7. Verify `/api/v1/health` reports `HEALTHY`, `sqlite`, schema version `9`, and production effects
`DISABLED`.
7. Verify `/api/v1/health` reports `HEALTHY`, `sqlite`, the highest contiguous migration version
bundled in that exact artifact, and production effects `DISABLED`.
8. Run the authenticated `/api/v1/evidence/verify` operation again, then start the remaining
instances.

Expand Down
9 changes: 6 additions & 3 deletions scripts/publish_review_branch.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,12 @@
from datetime import UTC, datetime
from pathlib import Path

ALLOWED_GITHUB_REPOSITORY = "https://github.com/eimyroot/V-One.git"
ALLOWED_GITHUB_REPOSITORY = "https://github.com/eimyroot/Voodoo-One.git"
LEGACY_GITHUB_REPOSITORY_ALIASES = frozenset(
{"https://github.com/nulleimy/V-One.git"}
{
"https://github.com/eimyroot/V-One.git",
"https://github.com/nulleimy/V-One.git",
}
)
CANONICAL_EVIDENCE_ROOT = Path("/Users/eimyna/00_DEV/V-ONE-EVIDENCE")
DEFAULT_BASE_REF = "origin/main"
Expand Down Expand Up @@ -526,4 +529,4 @@ def main(argv: Sequence[str] | None = None) -> int:


if __name__ == "__main__":
raise SystemExit(main())
raise SystemExit(main())
Loading