Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
160dcb2
fix(security): use HMAC for CHIT proofs
hunnibear Mar 1, 2026
c0d444a
docs(security): add A2A discovery auth sweep findings
hunnibear Mar 1, 2026
2d3710b
fix(security): update submodule pointers to 2026-03-01 review fix bra…
hunnibear Mar 1, 2026
466a9b0
chore(env): require dotnet sdk in bootstrap preflight
hunnibear Mar 1, 2026
a67353e
Merge branch 'main' of https://github.com/POWERFULMOVES/PMOVES.AI
hunnibear Mar 1, 2026
fb90ba9
Merge remote-tracking branch 'origin/main'
hunnibear Mar 1, 2026
89a40ad
docs(agents): overlay TAC model/persona readiness into graphiti protocol
hunnibear Mar 1, 2026
9955664
docs(agents): correct TAC status wording for local staged artifacts
hunnibear Mar 1, 2026
912e685
feat(models): reconcile model registry with Anthropic, TTS, and expan…
hunnibear Mar 1, 2026
879ab05
feat(personas): integrate 8 standard persona seeds into initdb pipeline
hunnibear Mar 1, 2026
e08a6a2
feat(gpu): sync gpu-models.yaml with SQL model registry
hunnibear Mar 1, 2026
144bd88
feat(db): add persona-model resolution view for runtime agent identit…
hunnibear Mar 1, 2026
044dc9e
feat(ops): add model-readiness check and Make target
hunnibear Mar 1, 2026
cdf3aa7
fix(db): harden model/persona seed determinism and view security
hunnibear Mar 2, 2026
b726e99
fix(ops): enforce readiness gate and close TAC doc drift
hunnibear Mar 2, 2026
605b05b
fix(sql): harden studio_board RLS policy for service_role only
hunnibear Mar 2, 2026
e9404e9
fix(db): reconcile model provider upserts and enforce studio policy r…
hunnibear Mar 2, 2026
a597643
fix(security): tighten studio_board revokes and TensorZero reachabili…
hunnibear Mar 2, 2026
0c28b0e
fix(readiness): enforce registry thresholds and harden studio_board r…
hunnibear Mar 2, 2026
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
29 changes: 29 additions & 0 deletions docs/AGENT_TRAIL.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,35 @@

---

<!-- graphiti:codex phase:tac-model-persona-readiness-overlay ts:2026-03-01T22:45:00Z -->

## ■ Codex — TAC Model/Persona Readiness Overlay + Graphiti Protocol Update

<table><tr><td style="background:#2563EB;width:24px"></td><td>

**Resonance:** release-governance, model-registry, handoff-protocol
**Voice:** Terse

### Done
- Reviewed the proposed TAC tree against live repository state and separated already-landed work from remaining gaps.
- Added `pmoves/docs/TAC/TAC_MODEL_INFRA_PERSONA_PROD_READINESS.md` with deterministic execution order, atomic commit boundaries, and merge-gate commands.
- Updated `pmoves/docs/AGENTS/AI_GRAPHITI_PROTOCOL.md` with a machine-parseable TAC block format (`graphiti:tac`) and explicit status transition rules.
- Aligned voice registry docs by adding `witness` to the Graphiti protocol voice list (matches DARKXSIDE registration).
- Updated `pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md` with CLAIM/REVIEW/RELEASE + signed ACK for this overlay pass.

### Left Behind
- Runtime implementation tasks are staged in local working-tree artifacts for persona-model resolution migration and readiness tooling (`model-readiness` target + script), but still need commit/promotion sequencing.
- Model/persona seed files are present in workspace but still need commit discipline and PR promotion sequencing.

### For Next Agent
- Execute TAC branches in this order: B/D -> A -> C -> F -> E.
- Keep one atomic commit per branch objective and run `make -C pmoves pr-monitor-strict` + `make -C pmoves chit-flow-pr-monitor-strict` before merge requests.
- Route runtime-affecting changes through Integrations first, then promote to Hardened.

</td></tr></table>

<!-- /graphiti -->

<!-- graphiti:codex phase:submodule-parity-wave2 ts:2026-03-01T04:22:00Z -->

## ■ Codex — Submodule Codex Home Coverage Expansion
Expand Down
8 changes: 8 additions & 0 deletions pmoves/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1110,6 +1110,8 @@ verify-all: ## Full verify: bring-up (parallel waits), then retro preflight + mo
-@$(MAKE) --no-print-directory agents-headless-smoke
@echo "-> Archon MCP evidence"
-@$(MAKE) --no-print-directory archon-mcp-evidence
@echo "-> Model & persona readiness"
@$(MAKE) --no-print-directory model-readiness
@echo "OK Verify-all sequence executed. Review console + Grafana."

.PHONY: archon-mcp-evidence
Expand Down Expand Up @@ -1676,6 +1678,12 @@ brand-verify: ## Verify key branded endpoints respond
@echo "Neo4j bolt (mapped):" && echo 'EXPECT 7474/7687 open' || true
@echo "✔ Brand verification complete (inspect codes above)"

# -------- Model & persona readiness --------
.PHONY: model-readiness

model-readiness: ## Validate model registry, persona seeds, Ollama models, TensorZero gateway
@$(PYTHON) tools/model_readiness_check.py

# -------- Model profiles / management --------
.PHONY: model-profiles model-apply model-swap models-sync models-seed-ollama models-registry-snapshot

Expand Down
66 changes: 66 additions & 0 deletions pmoves/config/gpu-models.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,72 @@ models:
priority_default: 5
context_length: 16384

- id: "qwen2.5:32b"
provider: ollama
vram_mb: 20480
description: "Qwen2.5 32B - Flagship reasoning"
priority_default: 7
quantization: "Q4_K_M"
context_length: 32768

- id: "qwen2.5:14b"
provider: ollama
vram_mb: 9000
description: "Qwen2.5 14B - Efficient alternative"
priority_default: 6
quantization: "Q4_K_M"
context_length: 32768

- id: "qwen2-vl:7b"
provider: ollama
vram_mb: 6000
description: "Qwen2-VL 7B - Vision-language"
priority_default: 5
context_length: 32768

- id: "qwen3-reranker:4b"
provider: ollama
vram_mb: 3000
description: "Qwen3 Reranker 4B - Cross-encoder"
priority_default: 4
context_length: 32768

- id: "nemotron-mini"
provider: ollama
vram_mb: 4000
description: "Nemotron Mini - NVIDIA research"
priority_default: 5
context_length: 128000

- id: "llama3.1"
provider: ollama
vram_mb: 5000
description: "Llama 3.1 - Meta open-source"
priority_default: 5
context_length: 128000

# Embedding Models (Ollama)
- id: "qwen3-embedding:4b"
provider: ollama
vram_mb: 3000
description: "Qwen3 Embedding 4B"
priority_default: 3
context_length: 32768

- id: "qwen3-embedding:8b"
provider: ollama
vram_mb: 6000
description: "Qwen3 Embedding 8B - High quality"
priority_default: 4
context_length: 32768

- id: "embeddinggemma:300m"
provider: ollama
vram_mb: 1500
description: "Gemma Embedding 300M - Lightweight"
priority_default: 2
context_length: 32768

# TTS Models (Ultimate TTS Studio)
- id: "kokoro"
provider: tts
Expand Down
1 change: 1 addition & 0 deletions pmoves/docs/AGENTS/AGNOTE4482.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Primary convergence record lives at:
- `pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md`
- `pmoves/docs/AGENTS/GRAPHITI_SIG_REVIEW_2026-02-21.md` (Phase 5 signature and traversal review snapshot)
- `pmoves/docs/AGENTS/KRISS_KROSS_ACCORD.md` (Codex-led collision overlay and weave protocol)
- `pmoves/docs/TAC/TAC_MODEL_INFRA_PERSONA_PROD_READINESS.md` (model infrastructure + persona production readiness execution overlay)

All agents entering PMOVES lanes should read that file first, then claim work before edits.

Expand Down
19 changes: 19 additions & 0 deletions pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ Required handoff fields:
- `2026-02-24T04:32:28Z` CLAIM `CODEX-GPT5` scope: hardened dao-recontext + roadmap/next-steps + production-audit dashboard convergence.
- `2026-02-24T08:16:29Z` CLAIM `CODEX-GPT5` scope: PR #707 rail split (remove runtime payload from hardened docs lane) + dual-signature rule sync.
- `2026-02-24T12:00:00Z` CLAIM `CLAUDE-OPUS` scope: Rail split handoff — runtime PR #708 + PR #707 close-review + KRISS KROSS accord ACK.
- `2026-03-01T22:45:00Z` CLAIM `CODEX-GPT5` scope: TAC model/persona production readiness review + Graphiti protocol parseable TAC addendum.

## Graphiti Review Log
- `2026-02-21T10:35:03.6791631-05:00` REVIEW `CODEX-GPT5`
Expand Down Expand Up @@ -126,6 +127,18 @@ Required handoff fields:

- `2026-02-25T15:00:00Z` RELEASE `CLAUDE-OPUS` scope: Context sync + CHIT awareness audit complete; CODEX validation handoff accepted.

- `2026-03-01T22:45:00Z` REVIEW `CODEX-GPT5`
- Reviewed TAC tree proposal for model infrastructure + persona production readiness against current repository state.
- Added execution overlay doc: `pmoves/docs/TAC/TAC_MODEL_INFRA_PERSONA_PROD_READINESS.md`.
- Confirmed current lane reality:
- model registry work is already substantially present in `pmoves/supabase/initdb/12_model_registry_seed.sql`
- persona seed file exists at `pmoves/supabase/initdb/17_persona_seed.sql` and needs promotion path
- persona-model resolution migration and model readiness tooling are present in local working-tree artifacts and now explicitly sequenced for commit/promotion
- Updated `AI_GRAPHITI_PROTOCOL.md` with machine-parseable TAC block format and added `witness` voice enum parity with DARKXSIDE registration.
- Updated `docs/AGENT_TRAIL.md` with codex trail entry to preserve Done/Left Behind/For Next Agent handoff continuity.

- `2026-03-01T22:45:00Z` RELEASE `CODEX-GPT5` scope: TAC tree enhancement + Graphiti protocol update complete; lane ready for implementation commits.

## Agent ACK (Signed)
- Agent: `CODEX-GPT5`
- Ack: `I acknowledge control of the current convergence lane and will not overlap branch edits without explicit handoff.`
Expand Down Expand Up @@ -167,3 +180,9 @@ Required handoff fields:
- Ack: `I reviewed CODEX operator home, Kriss Kross Accord (including Stash-Safe amendment ratification), Graphiti Protocol (added DARKXSIDE), and submodule integration audit. Context files audited for sync: 6 submodule CLAUDE.md files remediated with CHIT awareness stanzas, main CLAUDE.md expanded with NATS WS + CHIT section, CHIT integration status refreshed with NATS auth fix + CGP naming standardization. Validation: codex-parity-check=31% coverage (78 missing tokens — expected, Codex scaffolding pending), codex-audit=report regenerated, topology-chit-gate=PASS (0 errors, 0 warnings, 56 containers), smoke=PARTIAL (Qdrant+presign+render-webhook+PostgREST OK; Meilisearch+Neo4j offline; render-webhook POST 500). Validation handoff accepted.`
- Signature: `ACK::CLAUDE-OPUS::PHI-4482-T1::CONTEXT-SYNC-CODEX-HANDOFF`
- Timestamp: `2026-02-25T15:00:00Z`

## Agent ACK (Signed, TAC Model/Persona Overlay)
- Agent: `CODEX-GPT5`
- Ack: `I translated TAC model/persona readiness into deterministic branch sequence, parseable Graphiti TAC blocks, and explicit merge gate expectations for Integrations -> Hardened promotion.`
- Signature: `ACK::CODEX-GPT5::PHI-4482-T1::TAC-MODEL-PERSONA-OVERLAY`
- Timestamp: `2026-03-01T22:45:00Z`
47 changes: 46 additions & 1 deletion pmoves/docs/AGENTS/AI_GRAPHITI_PROTOCOL.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ AI Graphiti is the attribution and handoff protocol for PMOVES.AI's multi-agent

1. **Choose an unused glyph** — single Unicode character, must render in monospace terminals
2. **Choose a unique color** — must be distinguishable from existing entries in both light and dark themes
3. **Pick a voice** — one of: `analytical`, `architectural`, `terse`, `strategic`, `conversational`, `directive`, `companion`
3. **Pick a voice** — one of: `analytical`, `architectural`, `terse`, `strategic`, `conversational`, `directive`, `companion`, `witness`
4. **Add entry to `agent_signatures.yaml`:**

```yaml
Expand Down Expand Up @@ -90,6 +90,50 @@ Prepend a new graphiti block to `docs/AGENT_TRAIL.md` (newest entries at top, be
<!-- /graphiti -->
```

## TAC Tree Handoff Block (Machine-Parseable, Required for Multi-Branch Lanes)

When a lane uses TAC branches (A/B/C...) with parallel ownership, add a TAC block to AGNOTE or AGENT_TRAIL so ownership and merge order are unambiguous.

Template:

```markdown
<!-- graphiti:tac lane:{lane_name} branch:{branch_name} phase:{branch_phase} status:{status} owner:{agent_id} reviewer:{agent_id} ts:{ISO-8601} -->

## {glyph} {display_name} — TAC {branch_phase}: {title}

**Lane:** `{lane_name}`
**Status:** `{planned|in_progress|blocked|ready_for_merge|done}`
**Owner:** `{agent_id}`
**Reviewer:** `{agent_id}`
**Dependencies:** `{comma-separated branch phases}`
**PR:** `#{number}` or `pending`
**Verification:** `{command evidence summary}`

### Done
- item

### Left Behind
- item

### For Next Agent
- item

<!-- /graphiti:tac -->
```

Required TAC fields:
- `lane`
- `branch`
- `phase`
- `status`
- `owner`
- `reviewer`
- `ts`

Status transition rule:
- `planned -> in_progress -> ready_for_merge -> done`
- `blocked` can be entered from any state and must include blocker context in `Left Behind`.

## PR Review Learnings Loop (Required Before Merge)

When a lane has open PRs, run the PR monitor and fold findings into the trail:
Expand Down Expand Up @@ -119,6 +163,7 @@ Write your trail entry in your assigned voice:
- **Conversational** (Cline): Informal, iterative, question-driven. "Got the frontend rendering, but the state management feels fragile — might need a rethink?"
- **Directive** (POWERFULMOVES): Decision statements, priority calls, scope definitions. "Ship Phase H. KiloCode starts Monday. No P2s until onboarding completes."
- **Companion** (Crush): Warm, interactive, pair-programming energy. "Let's figure this out together. Here's what I found, here's what I think we should try."
- **Witness** (DARKXSIDE): Presence-oriented, reflective signal capture, synthesis-forward. "Captured the boundary conditions. Signal is preserved for next traversal."

## KRISS KROSS Accord (Collision -> Overlay)

Expand Down
113 changes: 113 additions & 0 deletions pmoves/docs/TAC/TAC_MODEL_INFRA_PERSONA_PROD_READINESS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# TAC_MODEL_INFRA_PERSONA_PROD_READINESS
_Last updated: 2026-03-01_

## Mission
Bring model infrastructure and persona grounding to production readiness with deterministic, merge-safe sequencing across Supabase model registry, TensorZero mapping, GPU model inventory, and persona runtime resolution.

Constraint:
- Do not touch `PMOVES-transcribe-and-fetch` in this lane.

## Current State Snapshot (Repo Reality)
- `pmoves/supabase/initdb/12_model_registry_seed.sql` is already expanded with:
- Anthropic provider + Claude model entries
- local Ollama model coverage including `qwen3:*`, `codellama:7b`, `deepseek-coder:6.7b`
- TTS provider + TTS model entries
- broad `service_model_mappings` sections
- `pmoves/supabase/initdb/17_persona_seed.sql` exists and contains seeded personas, but is currently not yet merged.
- Included in this lane:
- persona-model resolution view migration (`pmoves/supabase/migrations/20260301002000_persona_model_resolution.sql`)
- model readiness script + Make target wiring (`pmoves/tools/model_readiness_check.py`, `pmoves/Makefile`)
- Remaining operator step:
- attach deterministic verification evidence bundle in PR comments/trail after runtime validation

## Tactical Branches (Enhanced)

### Branch B/D (P1/P2): Registry + GPU Inventory Reconciliation
Owner: implementation lane owner

Scope:
- finalize `12_model_registry_seed.sql` as single source of seeded model/provider truth
- enforce VRAM parity against `pmoves/config/gpu-models.yaml` for GPU-tracked models
- keep cloud-only models documented as intentionally absent from GPU YAML where applicable

Output:
- one atomic commit: `feat(models): reconcile registry providers/models with gpu inventory`

### Branch A (P1): Persona Seed Integration
Owner: implementation lane owner

Scope:
- keep `pmoves/supabase/initdb/17_persona_seed.sql` as canonical seeded persona load
- ensure idempotent conflict handling and model preference names match registry keys

Output:
- one atomic commit: `feat(personas): add initdb persona seed set`

### Branch C (P2): Service-Model Mapping Coverage
Owner: implementation lane owner

Scope:
- verify mappings align to active services and model IDs present in registry seed
- remove stale mappings that point to non-existent models

Output:
- one atomic commit: `feat(models): expand and validate service model mappings`

### Branch F (P2): Persona-Model Resolution View
Owner: implementation lane owner

Scope:
- add migration:
- `pmoves/supabase/migrations/20260301002000_persona_model_resolution.sql`
- create view `pmoves_core.persona_model_resolution`
- grant read policy for service/runtime roles

Output:
- one atomic commit: `feat(personas): add persona-model resolution view`

### Branch E (P2): Startup Readiness Check
Owner: implementation lane owner

Scope:
- add `pmoves/tools/model_readiness_check.py`
- add Make target `model-readiness`
- add hook into `verify-all` (non-destructive, fail-fast reporting)

Output:
- one atomic commit: `feat(ops): add model readiness checks and make target`

## Execution Order
1. Branch B/D
2. Branch A
3. Branch C
4. Branch F
5. Branch E

Rationale:
- Registry/model IDs must be stable before persona and mapping resolution.
- View and readiness checks must run against finalized seed surface.

## Deterministic Verification
Run in order:
1. `make -C pmoves supabase-bootstrap`
2. `make -C pmoves verify-all` (includes `model-readiness`)
3. SQL spot checks:
- `SELECT count(*) FROM pmoves_core.personas;`
- `SELECT count(*) FROM pmoves_core.models;`
- `SELECT persona_name, model_preference, model_name, provider_name FROM pmoves_core.persona_model_resolution;`
- `SELECT count(*) FROM pmoves_core.service_model_mappings;`

## Merge and Handoff Rules
- Runtime and DB-affecting changes follow Integrations -> Hardened rail strategy.
- Every branch completion requires:
- Graphiti trail entry (`Done / Left Behind / For Next Agent`)
- AGNOTE claim/review/release update
- PR monitor pass (`make -C pmoves pr-monitor-strict`)
- CHIT flow strict gate (`make -C pmoves chit-flow-pr-monitor-strict`)

## Ready-for-PR Checklist
- [ ] Atomic commit boundaries preserved (one commit per branch objective)
- [ ] No transcribe-and-fetch changes in diff
- [ ] All new SQL is idempotent
- [ ] Make target docs updated if commands change
- [ ] Verification evidence included in PR comments
Loading
Loading