Skip to content

docs(agents): comprehensive AGENTS directory review and cross-reference fixes - #742

Merged
POWERFULMOVES merged 7 commits into
mainfrom
docs/agents-review-2026-03-01
Mar 2, 2026
Merged

POWERFULMOVES merged 7 commits into
mainfrom
docs/agents-review-2026-03-01

Conversation

@POWERFULMOVES

@POWERFULMOVES POWERFULMOVES commented Mar 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Gap analysis updated — Phase 1 roadmap items marked complete (model registry, persona seeds, GPU YAML, service mappings), CHIT/A2A status refreshed
  • Cross-references added to 4 operator docs (hook portability, cipher categories, known gaps link, Codex-Claude collision handling)
  • README.md index created — 69-file directory catalog with category groupings and "start here" navigation
  • Persona documentation expanded — 4 worked seed examples, inheritance chain, CHIT attribution config, summary table
  • Registry completeness — CHIT toggles added to 9 infra agents (60/60 coverage), Hi-RAG gpu_port split
  • Submodule codex homes — naming conventions and orphan tracking guidance

6 Atomic Commits

# Scope Files
1 Gap analysis Phase 1 completions IMPLEMENTATION_GAP_ANALYSIS.md
2 Cross-references between operator docs 4 files (context patterns, cipher map, operator home, runtime protocol)
3 README.md index for 69-file directory NEW pmoves/docs/AGENTS/README.md
4 Persona seed examples in PERSONAS.md PERSONAS.md
5 CHIT toggle coverage + Hi-RAG port agent_registry.yaml
6 Submodule codex homes naming docs SUBMODULE_CODEX_HOMES/README.md

Dependency

Merge after PR #741 (model registry + persona seeds) — this PR cross-references 17_persona_seed.sql and persona-model resolution views introduced there.

Test plan

  • All markdown files render correctly on GitHub
  • Cross-references resolve to existing files
  • grep -c "not implemented" pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md returns ≤4 (legitimate A2A gaps only)
  • agent_registry.yaml is valid YAML: python -c "import yaml; yaml.safe_load(open('pmoves/config/agent_registry.yaml'))"
  • No port conflicts in registry (8086 CPU, 8087 GPU for Hi-RAG)

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • Chores

    • Updated agent port configurations to support GPU instances alongside CPU deployments.
    • Standardized agent configuration across the registry.
  • Documentation

    • Expanded operator and implementer guidance with updated gap analysis and runtime protocol details.
    • Added comprehensive agent documentation index for easier navigation.
    • Introduced 8 core seeded personas now deployed in production.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 934d181 and a0ed3a1.

📒 Files selected for processing (10)
  • pmoves/config/agent_registry.yaml
  • pmoves/docs/AGENTS/AGENT_CONTEXT_PATTERNS.md
  • pmoves/docs/AGENTS/CODEX_CIPHER_MEMORY_IMPLEMENTATION_MAP.md
  • pmoves/docs/AGENTS/CODEX_OPERATOR_HOME.md
  • pmoves/docs/AGENTS/CODEX_RUNTIME_PROTOCOL.md
  • pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md
  • pmoves/docs/AGENTS/PERSONAS.md
  • pmoves/docs/AGENTS/PMOVES_AGENT_TOPOLOGY.md
  • pmoves/docs/AGENTS/README.md
  • pmoves/docs/AGENTS/SUBMODULE_CODEX_HOMES/README.md

📝 Walkthrough

Walkthrough

Configuration and documentation updates standardize per-agent NATS and CHIT toggle settings across utility agents in the registry, add GPU port routing for Hi-RAG v2, and introduce comprehensive documentation for agent system topology, resilience patterns, gap analysis, and persona seeds.

Changes

Cohort / File(s) Summary
Agent Configuration
pmoves/config/agent_registry.yaml
Updated metadata date to 2026-03-01. Added gpu_port: 8087 to hirag_v2 for GPU routing alongside existing CPU port 8086. Added standardized nats (publishes/subscribes empty arrays) and chit_toggles (all set to false) blocks to nine utility agents: NATS, supabase, qdrant, neo4j, meilisearch, minio, prometheus, grafana, loki.
Agent Documentation Index
pmoves/docs/AGENTS/README.md
New comprehensive documentation file serving as navigable overview of PMOVES.AI agent taxonomy, registry, governance, and related artifacts. Organizes content by tier (Tier 1–7) with file listings, quick links, and naming conventions.
Topology and Runtime Protocol
pmoves/docs/AGENTS/PMOVES_AGENT_TOPOLOGY.md, pmoves/docs/AGENTS/CODEX_RUNTIME_PROTOCOL.md
Updated Hi-RAG v2 topology notation to include both ports (:8086, :8087). Added Codex-Claude collision handling subsection with coordination rules and precedence logic. Expanded PMOVES production notes regarding service assumptions, secrets management, and observability requirements.
Operational Guidance and Gaps
pmoves/docs/AGENTS/CODEX_OPERATOR_HOME.md, pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md
Added Known Gaps section to operator guide. Substantially updated gap analysis with Phase 1 completion status (Feb 2026), new "Completed Since Last Analysis" table tracking security patterns, cipher memory, runtime protocol, and other components. Reorganized critical gaps for A2A protocol, vertical slice architecture, and CHIT with current implementation status.
Agent Patterns and Resilience
pmoves/docs/AGENTS/AGENT_CONTEXT_PATTERNS.md, pmoves/docs/AGENTS/CODEX_CIPHER_MEMORY_IMPLEMENTATION_MAP.md
Added hook portability warning clarifying Claude Code CLI hooks scope in PMOVES.AI parent repo. Expanded cipher memory documentation with new resilience categories section defining TTL-based categories (agent\_plan, agent\_checkpoint, agent\_completion) and their registry declarations.
Persona and Submodule Documentation
pmoves/docs/AGENTS/PERSONAS.md, pmoves/docs/AGENTS/SUBMODULE_CODEX_HOMES/README.md
Bumped PERSONAS version to 1.1 with concrete seed examples section detailing persona parameters and rationale. Added 8/12 core seeds deployment status. Enhanced SUBMODULE_CODEX_HOMES documentation with explicit naming conventions (Primary/Fallback scheme), known orphans tracking, and maintenance procedures for submodule coverage regeneration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

codex

Poem

🐰 A hop through config, a dash through the docs,
GPU ports routed, resilience in stocks.
NATS and CHIT dance on every agent's card,
Topology mapped—no detail too hard!
From seeds to the gaps, we've fortified all,
A comprehensive leap, a documentation sprawl. 🌱✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: comprehensive documentation updates and cross-reference fixes for the AGENTS directory. It is concise, specific, and clearly describes the primary scope of work.
Description check ✅ Passed The description comprehensively covers the PR scope with a detailed summary, atomic commit structure, dependencies, and test plan. However, the 'Summary' section uses high-level points rather than following the template's 'short bullet list explaining what changed and why' format, and the 'Testing' section lacks actual command execution output/results.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/agents-review-2026-03-01

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 12

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md (1)

117-118: ⚠️ Potential issue | 🟠 Major

Reconcile conflicting SKILL.md implementation status.

Line 117 says standardized SKILL.md pivots are missing, but Line 310 states the template/marketplace is operational. Keep one source of truth here.

Proposed direction (example)
-**Gap:** Current tool structure uses `instruments/` directory without standardized SKILL.md pivot files.
+**Status: ⚠️ Partially implemented.** SKILL.md template exists, but migration from `instruments/` to standardized skill pivots is incomplete across services.

As per coding guidelines, "Keep status claims aligned with evidence in runbooks and smokes."

Also applies to: 306-311

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md` around lines 117 - 118,
There are conflicting status claims about SKILL.md pivots: one sentence says
standardized SKILL.md pivots are missing for the instruments/ directory while
another says the template/marketplace is operational; pick the correct current
truth (either “standardized SKILL.md pivots are present and marketplace
operational” or “pivots missing and marketplace not ready”), then update both
occurrences that reference SKILL.md/instruments/ and the template/marketplace
statements so they match: edit the phrase mentioning “instruments/ directory”
and the sentence that refers to the “template/marketplace” (and any nearby
summary like “standardized SKILL.md pivots” or “operational”) to the chosen
single status, and add a short evidence note pointing to the runbook or smoke
test that substantiates the claim (e.g., reference the runbook or smoke name),
ensuring SKILL.md and template/marketplace wording are consistent across the
document.
pmoves/docs/AGENTS/PERSONAS.md (1)

478-492: ⚠️ Potential issue | 🟠 Major

Add persona NATS subjects to canonical .claude/context/nats-subjects.md.

The persona subjects introduced at lines 481–490 in PERSONAS.md (persona.created.v1, persona.updated.v1, persona.activated.v1, persona.attributed.v1) are not documented in the canonical NATS subjects catalog. Per coding guidelines, NATS event topology must be maintained in .claude/context/nats-subjects.md.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/docs/AGENTS/PERSONAS.md` around lines 478 - 492, The PERSONAS.md file
introduces four new NATS subjects (persona.created.v1, persona.updated.v1,
persona.activated.v1, persona.attributed.v1) but they are missing from the
canonical NATS subjects document; update the canonical NATS subjects catalog to
include entries for these four subjects with their payload shapes (e.g.,
persona_id, slug, category; changes; agent_id; persona_ids[], weights[],
cgp_packet_id) so the central topology is authoritative and matches the symbols
defined in PERSONAS.md.
🧹 Nitpick comments (4)
pmoves/tools/model_readiness_check.py (3)

119-123: Hardcoded model preferences may require maintenance.

The expected model preferences (claude-sonnet-4-5, claude-opus-4-5, claude-haiku-4-5) are hardcoded. Consider extracting these to a constant or making them configurable via CLI/env if the model names evolve frequently.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/tools/model_readiness_check.py` around lines 119 - 123, Extract the
hardcoded set assigned to expected into a single source of truth (e.g., a
top-level constant like PERSONA_MODEL_PREFERENCES or a configurable CLI/env
variable) and update the check in model_readiness_check.py to reference that
symbol instead of the inline set; update any relevant docstring or help text to
explain how to change the list and keep the call to self._check("Persona model
preferences valid", ...) and the missing calculation (missing = expected -
models) unchanged so behavior stays the same while model names become
maintainable/configurable.

30-37: Consider validating URL schemes for security.

Ruff S310 flags that urllib.request.urlopen accepts arbitrary URL schemes including file://. While this is a local development/CI tool with low risk, consider adding scheme validation if this tool might run in less trusted environments.

🔒 Optional: Add URL scheme validation
 def http_get(url: str, timeout: int = 10) -> dict | None:
     """GET request returning parsed JSON or None on failure."""
     try:
+        if not url.startswith(("http://", "https://")):
+            return None
         req = urllib.request.Request(url, headers={"Accept": "application/json"})
         with urllib.request.urlopen(req, timeout=timeout) as resp:
             return json.loads(resp.read().decode())
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/tools/model_readiness_check.py` around lines 30 - 37, The http_get
function accepts arbitrary URL schemes (e.g., file://) which is unsafe; before
building the Request or calling urllib.request.urlopen, parse the url with
urllib.parse.urlparse and validate that parsed.scheme is either "http" or
"https" (if not, return None or raise a controlled error), then proceed as
before; update http_get to perform this scheme check (using
urllib.parse.urlparse) to reject non-http(s) schemes safely.

137-144: Critical models list is hardcoded.

Similar to model preferences, the critical Ollama models list (qwen3, nomic-embed-text) is hardcoded. This is acceptable for a readiness check but may need updates as the model registry evolves.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/tools/model_readiness_check.py` around lines 137 - 144, The critical
models list is hardcoded as critical = ["qwen3", "nomic-embed-text"]; change
this to a configurable source so the list can be updated without changing code —
e.g., read from an existing model preferences/config (or a new constant like
CRITICAL_MODELS) and use that variable in the loop that checks pulled; update
references in model_readiness_check.py where critical is used (the loop that
calls self._warn and self._check, and the pulled variable) so the check uses the
configurable list instead of the literal array.
pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md (1)

176-197: Move implemented items out of “Critical Gaps” section.

This subsection now contains mostly completed status plus portability follow-ups. Consider splitting into “Resolved” and “Remaining” to reduce triage noise.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md` around lines 176 - 197,
The "Damage Control / Security Hooks" subsection currently mixes implemented and
remaining items; split it into two subsections "Resolved" and "Remaining" so
completed work is not listed as a critical gap. Under "Resolved" move the
bullets for security/patterns.yaml deployment, deterministic hooks (.env*
blocking with template ask pattern), Known Roads Docker redirection
(.claude/CLAUDE.md), adversarial instruction detection (pre-execution GAN
defense), and the template path behavior (`check_path()` returns `(blocked,
reason, is_template)`). Under "Remaining" keep "Portability" (hooks don't apply
in submodule worktrees / Known Limitation in AGENT_RESILIENCE_PATTERNS.md) and
the not-implemented items (probabilistic LLM safety / Haiku model integration
and prompt scan hooks like `security/hooks/prompt_scan.py`). Ensure headings use
consistent status markers (✅/❌) and update the subsection title originally
labeled "Damage Control / Security Hooks."
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/AGENT_TRAIL.md`:
- Around line 13-40: The TAC entry uses a generic graphiti:{agent} block instead
of the required machine-parseable graphiti:tac format; update the block to the
graphiti:tac template and include the required TAC metadata keys (lane, branch,
status, owner, reviewer) so tooling can parse it, and ensure the same template
is used for other related docs referenced (symbols: graphiti:tac,
pmoves/docs/TAC/TAC_MODEL_INFRA_PERSONA_PROD_READINESS.md,
pmoves/docs/AGENTS/AI_GRAPHITI_PROTOCOL.md,
pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md); keep the content intact but move the
TAC-specific fields into the graphiti:tac header following the project's TAC
block template and validate with the Graphiti protocol parser.

In `@pmoves/config/agent_registry.yaml`:
- Around line 213-214: The Mermaid topology diagram entry for Hi-RAG v2 needs
updating to show both CPU and GPU ports; replace the existing node that only
lists :8086 with a node that includes both ports, e.g. hirag_v2["Hi-RAG
v2<br/>:8086, :8087"], so the diagram matches the agent_registry.yaml entries
(port: 8086 and gpu_port: 8087); locate the Hi-RAG v2 node in
PMOVES_AGENT_TOPOLOGY.md and update the label accordingly.

In `@pmoves/docs/AGENTS/PERSONAS.md`:
- Around line 3-6: The document's "Status" line claims "Architecture Definition
+ 8 Production Seeds Deployed" while the Phase-1 checklist remains unchecked;
update the roadmap/checklist so both are consistent by either marking Phase-1
items as completed or changing the Status to reflect "Phase-1 incomplete", and
mirror the same change in the other occurrence referenced near the Phase-1 block
(the duplicate section around the Phase-1 checklist lines). Locate the header
symbols "Version", "Last Updated", "Status", "Seed SQL" and the Phase-1
checklist block (and its duplicate) and make the status and checkboxes match
exactly (e.g., check the Phase-1 box(s) if seeds truly deployed or downgrade the
Status line to "Pending Phase-1").
- Around line 245-298: The fenced blocks showing persona configs (the block
beginning with "-- From 17_persona_seed.sql" and persona examples like name:
'Developer', name: 'Researcher', etc.) are incorrectly fenced as sql; change
those fences to ```yaml to match pseudo-config content, and change the unlabeled
inheritance example block that begins with "Coordinator (parent)" to ```text (or
another appropriate language) so rendering/linting and copy-paste are correct;
apply the same fence language fixes to the other persona/example blocks (the
unlabeled inheritance example and any similar blocks later in the file).

In `@pmoves/docs/AGENTS/README.md`:
- Around line 139-150: The section header "Known Gaps (P0-P1)" is inconsistent
with rows that include P2 items; update the section title or relocate the P2
rows so priorities match: either rename the header to "Known Gaps (P0-P2)" or
move the P2 table rows (the entries referencing `bpm_encoder.py` and
`OBSERVABILITY_MAP.md`) into a separate "P2" subsection. Ensure the title text
"Known Gaps (P0-P1)" in the README is changed to the chosen corrected header and
that the table rows remain accurate under the new heading.
- Around line 4-5: The README header "Files: 69+ documents across 7 tiers" is
inconsistent with the tier breakdown; recount the actual documents referenced by
the tier lists and update the "Files:" line to the accurate total (or a correct
minimum like "70+" if appropriate), and ensure the "Registry:" agent count in
`pmoves/config/agent_registry.yaml` (taxonomy v1.4.0) matches that total where
applicable; modify the "Files:" header in AGENTS/README.md to reflect the
reconciled number and run a quick scan of the other affected files (notably docs
20-103) to correct any other mismatched status claims so the header aligns with
the evidence in the runbooks and smokes.

In `@pmoves/docs/TAC/TAC_MODEL_INFRA_PERSONA_PROD_READINESS.md`:
- Around line 59-61: Update the documentation entry that references the
migration filename
`pmoves/supabase/migrations/20260301_persona_model_resolution.sql` so it matches
the actual timestamped migration file that was added (or alternatively add the
missing migration file with that exact name); ensure the doc still mentions
creation of the view `pmoves_core.persona_model_resolution` and that the
migration filename in the docs and the migrations directory are identical.

In `@pmoves/supabase/initdb/12_model_registry_seed.sql`:
- Around line 667-717: The seed uses invalid Anthropic model_id values; update
the VALUES for the three INSERTs that set model_id ('claude-sonnet-4-5',
'claude-opus-4-5', 'claude-haiku-4-5') for provider v_anthropic_id to currently
supported Anthropic model IDs (e.g. replace with 'claude-3-5-sonnet-latest' or
'claude-sonnet-4-20250514' for Sonnet, 'claude-opus-4-1' or
'claude-opus-4-20250514' for Opus, and 'claude-3-5-haiku-latest' or
'claude-3-5-haiku-20241022' for Haiku), ensuring the model_id values inserted
into pmoves_core.models match Anthropic's API and your key's accessible models.

In `@pmoves/supabase/initdb/17_persona_seed.sql`:
- Around line 162-166: The DO UPDATE clause only refreshes a subset of columns
so seeded rows stay stale; update the DO UPDATE in this INSERT ... ON CONFLICT
block to include all mutable persona fields (e.g. thread_id =
EXCLUDED.thread_id, model = EXCLUDED.model, token_limit = EXCLUDED.token_limit,
filters = EXCLUDED.filters, nats_subject = EXCLUDED.nats_subject, plus the
existing description, system_prompt_template, tools_access, behavior_weights and
updated_at = NOW()) so any changes in seeds converge on re-run, and apply the
same expanded DO UPDATE change to the other upsert blocks identified (the
similar INSERT ... ON CONFLICT statements at the other mentioned locations).
- Around line 31-33: Update the comment that currently says "uuid-ossp already
enabled by 00_pmoves_schema.sql" to reference pgcrypto instead, because the SQL
uses gen_random_uuid(); locate the comment near the persona seed block where
gen_random_uuid() is used (look for gen_random_uuid() calls and the existing
comment line) and change it to "-- pgcrypto already enabled by
00_pmoves_schema.sql".

In `@pmoves/supabase/migrations/20260301002000_persona_model_resolution.sql`:
- Around line 35-39: The JOIN between personas (p) and models (m) is ambiguous
because m.model_id can be duplicated across providers; change the join to be
deterministic by matching both the model identifier and the provider (e.g.,
replace "ON m.model_id = p.model_preference" with a composite join such as "ON
m.model_id = p.model_preference AND m.provider_id = p.provider_preference" or
the equivalent provider key used on persona rows), and make the same change for
the other identical join at lines 70-73 so persona resolution always selects the
single model row scoped to the intended provider.
- Around line 51-52: The GRANT line gives broad read access to provider
internals by granting SELECT on pmoves_core.persona_model_resolution to
postgrest_anon and postgrest_auth_user; remove those public grants and restrict
access to the service role only (i.e., replace the current GRANT SELECT ON
pmoves_core.persona_model_resolution TO postgrest_anon, postgrest_auth_user with
a GRANT to the service role user used by your PostgREST/Supabase service), and
apply the same change to the other similar grant referenced at the second
occurrence (line ~79) so both persona_model_resolution views are only readable
by the service role.

---

Outside diff comments:
In `@pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md`:
- Around line 117-118: There are conflicting status claims about SKILL.md
pivots: one sentence says standardized SKILL.md pivots are missing for the
instruments/ directory while another says the template/marketplace is
operational; pick the correct current truth (either “standardized SKILL.md
pivots are present and marketplace operational” or “pivots missing and
marketplace not ready”), then update both occurrences that reference
SKILL.md/instruments/ and the template/marketplace statements so they match:
edit the phrase mentioning “instruments/ directory” and the sentence that refers
to the “template/marketplace” (and any nearby summary like “standardized
SKILL.md pivots” or “operational”) to the chosen single status, and add a short
evidence note pointing to the runbook or smoke test that substantiates the claim
(e.g., reference the runbook or smoke name), ensuring SKILL.md and
template/marketplace wording are consistent across the document.

In `@pmoves/docs/AGENTS/PERSONAS.md`:
- Around line 478-492: The PERSONAS.md file introduces four new NATS subjects
(persona.created.v1, persona.updated.v1, persona.activated.v1,
persona.attributed.v1) but they are missing from the canonical NATS subjects
document; update the canonical NATS subjects catalog to include entries for
these four subjects with their payload shapes (e.g., persona_id, slug, category;
changes; agent_id; persona_ids[], weights[], cgp_packet_id) so the central
topology is authoritative and matches the symbols defined in PERSONAS.md.

---

Nitpick comments:
In `@pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md`:
- Around line 176-197: The "Damage Control / Security Hooks" subsection
currently mixes implemented and remaining items; split it into two subsections
"Resolved" and "Remaining" so completed work is not listed as a critical gap.
Under "Resolved" move the bullets for security/patterns.yaml deployment,
deterministic hooks (.env* blocking with template ask pattern), Known Roads
Docker redirection (.claude/CLAUDE.md), adversarial instruction detection
(pre-execution GAN defense), and the template path behavior (`check_path()`
returns `(blocked, reason, is_template)`). Under "Remaining" keep "Portability"
(hooks don't apply in submodule worktrees / Known Limitation in
AGENT_RESILIENCE_PATTERNS.md) and the not-implemented items (probabilistic LLM
safety / Haiku model integration and prompt scan hooks like
`security/hooks/prompt_scan.py`). Ensure headings use consistent status markers
(✅/❌) and update the subsection title originally labeled "Damage Control /
Security Hooks."

In `@pmoves/tools/model_readiness_check.py`:
- Around line 119-123: Extract the hardcoded set assigned to expected into a
single source of truth (e.g., a top-level constant like
PERSONA_MODEL_PREFERENCES or a configurable CLI/env variable) and update the
check in model_readiness_check.py to reference that symbol instead of the inline
set; update any relevant docstring or help text to explain how to change the
list and keep the call to self._check("Persona model preferences valid", ...)
and the missing calculation (missing = expected - models) unchanged so behavior
stays the same while model names become maintainable/configurable.
- Around line 30-37: The http_get function accepts arbitrary URL schemes (e.g.,
file://) which is unsafe; before building the Request or calling
urllib.request.urlopen, parse the url with urllib.parse.urlparse and validate
that parsed.scheme is either "http" or "https" (if not, return None or raise a
controlled error), then proceed as before; update http_get to perform this
scheme check (using urllib.parse.urlparse) to reject non-http(s) schemes safely.
- Around line 137-144: The critical models list is hardcoded as critical =
["qwen3", "nomic-embed-text"]; change this to a configurable source so the list
can be updated without changing code — e.g., read from an existing model
preferences/config (or a new constant like CRITICAL_MODELS) and use that
variable in the loop that checks pulled; update references in
model_readiness_check.py where critical is used (the loop that calls self._warn
and self._check, and the pulled variable) so the check uses the configurable
list instead of the literal array.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5e69ed0 and 934d181.

📒 Files selected for processing (20)
  • docs/AGENT_TRAIL.md
  • pmoves/Makefile
  • pmoves/config/agent_registry.yaml
  • pmoves/config/gpu-models.yaml
  • pmoves/docs/AGENTS/AGENT_CONTEXT_PATTERNS.md
  • pmoves/docs/AGENTS/AGNOTE4482.md
  • pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md
  • pmoves/docs/AGENTS/AI_GRAPHITI_PROTOCOL.md
  • pmoves/docs/AGENTS/CODEX_CIPHER_MEMORY_IMPLEMENTATION_MAP.md
  • pmoves/docs/AGENTS/CODEX_OPERATOR_HOME.md
  • pmoves/docs/AGENTS/CODEX_RUNTIME_PROTOCOL.md
  • pmoves/docs/AGENTS/IMPLEMENTATION_GAP_ANALYSIS.md
  • pmoves/docs/AGENTS/PERSONAS.md
  • pmoves/docs/AGENTS/README.md
  • pmoves/docs/AGENTS/SUBMODULE_CODEX_HOMES/README.md
  • pmoves/docs/TAC/TAC_MODEL_INFRA_PERSONA_PROD_READINESS.md
  • pmoves/supabase/initdb/12_model_registry_seed.sql
  • pmoves/supabase/initdb/17_persona_seed.sql
  • pmoves/supabase/migrations/20260301002000_persona_model_resolution.sql
  • pmoves/tools/model_readiness_check.py

Comment thread docs/AGENT_TRAIL.md
Comment thread pmoves/config/agent_registry.yaml
Comment thread pmoves/docs/AGENTS/PERSONAS.md
Comment thread pmoves/docs/AGENTS/PERSONAS.md Outdated
Comment thread pmoves/docs/AGENTS/README.md Outdated
Comment thread pmoves/supabase/initdb/12_model_registry_seed.sql
Comment on lines +31 to +33
-- uuid-ossp already enabled by 00_pmoves_schema.sql

-- =============================================================================

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# First, examine the specific file and the lines in question
echo "=== File: 17_persona_seed.sql (lines 1-70) ==="
cat -n pmoves/supabase/initdb/17_persona_seed.sql | head -70

echo -e "\n=== Check 00_pmoves_schema.sql for extensions ==="
cat pmoves/supabase/initdb/00_pmoves_schema.sql | grep -i "CREATE EXTENSION" || echo "No CREATE EXTENSION found"

echo -e "\n=== Search for UUID functions in initdb scripts ==="
rg -n "gen_random_uuid|uuid_generate_v4" pmoves/supabase/initdb

Repository: POWERFULMOVES/PMOVES.AI

Length of output: 5893


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Search for ON CONFLICT in 17_persona_seed.sql ==="
rg -n "ON CONFLICT" pmoves/supabase/initdb/17_persona_seed.sql

echo -e "\n=== Check personas table schema for constraints ==="
rg -B5 -A10 "CREATE TABLE.*personas" pmoves/supabase/initdb/ | head -50

echo -e "\n=== Search for unique constraints on (name, version) ==="
rg -n "unique|constraint" pmoves/supabase/initdb/ | grep -i "personas\|name.*version" || echo "No direct constraint found in search"

Repository: POWERFULMOVES/PMOVES.AI

Length of output: 620


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Find migration file for personas table ==="
find pmoves -name "*persona*" -type f | grep -E "migrations|initdb"

echo -e "\n=== Search for personas table definition ==="
rg -n "CREATE TABLE.*personas" pmoves/

echo -e "\n=== Search for unique constraint on name, version ==="
rg -B2 -A8 "personas" pmoves/supabase/initdb/00_pmoves_schema.sql | grep -A10 "CREATE TABLE"

Repository: POWERFULMOVES/PMOVES.AI

Length of output: 727


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Read personas table definition from migration ==="
cat pmoves/supabase/migrations/20250115_persona_agent_creation.sql

Repository: POWERFULMOVES/PMOVES.AI

Length of output: 10966


Update comment on line 31 to reference pgcrypto instead of uuid-ossp.

Line 31 comment says "uuid-ossp already enabled", but the code uses gen_random_uuid(), which is provided by pgcrypto (not uuid-ossp). Both extensions are already enabled in 00_pmoves_schema.sql, so update the comment to accurately reflect the UUID generator in use: change to -- pgcrypto already enabled by 00_pmoves_schema.sql.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/supabase/initdb/17_persona_seed.sql` around lines 31 - 33, Update the
comment that currently says "uuid-ossp already enabled by 00_pmoves_schema.sql"
to reference pgcrypto instead, because the SQL uses gen_random_uuid(); locate
the comment near the persona seed block where gen_random_uuid() is used (look
for gen_random_uuid() calls and the existing comment line) and change it to "--
pgcrypto already enabled by 00_pmoves_schema.sql".

Comment thread pmoves/supabase/initdb/17_persona_seed.sql
Comment on lines +35 to +39
FROM pmoves_core.personas p
LEFT JOIN pmoves_core.models m
ON m.model_id = p.model_preference
LEFT JOIN pmoves_core.model_providers mp
ON mp.id = m.provider_id;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Use a deterministic join key for persona resolution.

Joining personas.model_preference to models.model_id can return multiple model rows for one persona when model IDs exist under multiple providers. That makes runtime resolution ambiguous.

Also applies to: 70-73

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/supabase/migrations/20260301002000_persona_model_resolution.sql`
around lines 35 - 39, The JOIN between personas (p) and models (m) is ambiguous
because m.model_id can be duplicated across providers; change the join to be
deterministic by matching both the model identifier and the provider (e.g.,
replace "ON m.model_id = p.model_preference" with a composite join such as "ON
m.model_id = p.model_preference AND m.provider_id = p.provider_preference" or
the equivalent provider key used on persona rows), and make the same change for
the other identical join at lines 70-73 so persona resolution always selects the
single model row scoped to the intended provider.

Comment on lines +51 to +52
GRANT SELECT ON pmoves_core.persona_model_resolution TO postgrest_anon, postgrest_auth_user;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Restrict grants on resolution views that expose provider internals.

Both views include provider endpoint/config fields and are granted to postgrest_anon. That broadens exposure and conflicts with the nearby “service role read access” intent.

Suggested hardening direction
-GRANT SELECT ON pmoves_core.persona_model_resolution TO postgrest_anon, postgrest_auth_user;
+GRANT SELECT ON pmoves_core.persona_model_resolution TO service_role;

-GRANT SELECT ON pmoves_core.active_persona_summary TO postgrest_anon, postgrest_auth_user;
+GRANT SELECT ON pmoves_core.active_persona_summary TO service_role;

Also applies to: 79-79

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/supabase/migrations/20260301002000_persona_model_resolution.sql`
around lines 51 - 52, The GRANT line gives broad read access to provider
internals by granting SELECT on pmoves_core.persona_model_resolution to
postgrest_anon and postgrest_auth_user; remove those public grants and restrict
access to the service role only (i.e., replace the current GRANT SELECT ON
pmoves_core.persona_model_resolution TO postgrest_anon, postgrest_auth_user with
a GRANT to the service role user used by your PostgREST/Supabase service), and
apply the same change to the other similar grant referenced at the second
occurrence (line ~79) so both persona_model_resolution views are only readable
by the service role.

@POWERFULMOVES
POWERFULMOVES changed the base branch from main to feat/model-registry-persona-readiness March 2, 2026 04:38
@POWERFULMOVES
POWERFULMOVES force-pushed the docs/agents-review-2026-03-01 branch from 6bfc35d to 5e191c2 Compare March 2, 2026 04:44
@POWERFULMOVES
POWERFULMOVES changed the base branch from feat/model-registry-persona-readiness to main March 2, 2026 05:48
@POWERFULMOVES
POWERFULMOVES force-pushed the docs/agents-review-2026-03-01 branch from 43e5cc7 to a0ed3a1 Compare March 2, 2026 05:49
hunnibear and others added 7 commits March 2, 2026 00:49
- Mark Phase 1 roadmap items as complete (model registry, persona seeds,
  GPU models YAML, service-model mappings)
- Update CHIT integration status from None to Partial
- Add A2A MCP foundation status
- Update security hooks as implemented
- Refresh date to 2026-03-01

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- AGENT_CONTEXT_PATTERNS: add hook portability warning for Windows
- CODEX_CIPHER_MEMORY: add cipher categories table for quick reference
- CODEX_OPERATOR_HOME: add known gaps link to gap analysis
- CODEX_RUNTIME_PROTOCOL: add Codex-Claude collision handling section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a start-here index document that catalogs all 69 files in the
AGENTS directory with descriptions and category groupings. Provides
newcomers a navigation map for the agent documentation corpus.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add 4 worked examples (Developer, Creator, Researcher, Analyst)
  showing model_preference, chit_attribution, and tool_allowlist
- Document persona inheritance chain (seed SQL → Supabase row →
  agent_registry.yaml → runtime resolution view)
- Add CHIT attribution configuration section
- Add quick reference summary table for all 8 standard personas
- Cross-reference 17_persona_seed.sql from PR #741

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add chit_toggles (encode, sign, bus_emit) to 9 infrastructure agents:
  nats-init, supabase-db, minio, qdrant, meilisearch, neo4j, prometheus,
  grafana, loki (all disabled — infra agents don't produce CHIT events)
- Add gpu_port: 8087 to hi-rag-gateway for v1/v2 port split
- Achieves 60/60 CHIT toggle coverage across all registered agents

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Document naming conventions for codex home files
- Add orphan tracking guidance for unmapped submodules
- Expand directory structure examples

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@POWERFULMOVES
POWERFULMOVES merged commit f620734 into main Mar 2, 2026
4 of 5 checks passed
POWERFULMOVES added a commit that referenced this pull request Mar 2, 2026
* fix(security): auth-gate agent-zero A2A discovery endpoint

* fix(security): HMAC CHIT proofs + A2A discovery auth audit + dotnet preflight (#736)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* chore(env): require dotnet sdk in bootstrap preflight

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>

* chore(deps): bump multer (#735)

Bumps the npm_and_yarn group with 1 update in the /CATACLYSM_STUDIOS_INC/L4-PLATFORM/provisions/docker-stacks/jellyfin-ai/api-gateway directory: [multer](https://github.com/expressjs/multer).


Updates `multer` from 2.0.2 to 2.1.0
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](expressjs/multer@v2.0.2...v2.1.0)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.1.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(chit): correct FlOO$ PYTHONPATH for pr-monitor pipeline

* feat(chit): CHIT-signed Graphiti trail + skill pairing awareness (#739)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* fix(security): update submodule pointers to 2026-03-01 review fix branches

Update gitlink pointers for 5 submodules to their security fix branches:
- BoTZ: auth-gate /.well-known/agent.json (PR #70)
- ToKenism-Multi: all P1/P2 cred defaults fixed (PR #46)
- Agent-Zero: path containment + supervisord users (PR #8)
- transcribe-and-fetch: openai v2 alignment + doc scrub (PR #44)
- DoX: secrets externalized + honest 501 (PR #114)

Also update review status doc with fix verification.

All 7 P1 and 20 P2 findings resolved. 4 dependabot PRs merged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(env): require dotnet sdk in bootstrap preflight

* feat(chit): add CHIT-signed Graphiti trail tooling

Add provenance signing for agent trail entries using CHIT HMAC:
- sign_trail.py: CLI tool to create and sign trail entries
- PostToolUse hook for automatic signing on trail file writes
- /chit:sign-trail skill command for interactive use
- Preflight check for dotnet SDK (required by CHIT crypto)
- CLAUDE.md documentation for trail signing workflow
- Settings.json hook registration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(runtime): service networking, healthchecks, SQL, Makefile hardening (#740)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* fix(security): update submodule pointers to 2026-03-01 review fix branches

Update gitlink pointers for 5 submodules to their security fix branches:
- BoTZ: auth-gate /.well-known/agent.json (PR #70)
- ToKenism-Multi: all P1/P2 cred defaults fixed (PR #46)
- Agent-Zero: path containment + supervisord users (PR #8)
- transcribe-and-fetch: openai v2 alignment + doc scrub (PR #44)
- DoX: secrets externalized + honest 501 (PR #114)

Also update review status doc with fix verification.

All 7 P1 and 20 P2 findings resolved. 4 dependabot PRs merged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(env): require dotnet sdk in bootstrap preflight

* fix(compose): networking, healthchecks, and env hardening

- Fix external compose service networking and port bindings
- Add missing healthcheck configurations to n8n compose
- Update env.shared.example with new required variables
- Harden docker-compose.yml service definitions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(services): auth, healthchecks, and dependency updates

- Agent Zero: Dockerfile non-root hardening, MCP server auth fixes
- service_registry: improve service discovery and health reporting
- evo-controller: add healthcheck endpoint and startup guards
- flute-gateway: fix import path
- render-webhook: update deps, add input validation
- retrieval-eval: add health and metrics endpoints

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(sql): RLS policies, model registry seeds, and supabase config

- Tighten RLS policies for public_init and geometry tables
- Update model registry seed data with current model versions
- Add studio board RLS migration for service_role access
- Add supabase .gitignore and config.toml for local dev

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(tooling): Makefile targets, smoke tests, and operational scripts

- Makefile: add sign-trail, volume-reset, and infra targets
- smoke.ps1: expand service coverage and timeout handling
- with-env.sh: support multi-tier env loading
- bringup_with_ui.sh: improve startup sequencing
- chit_security.py: fix HMAC signing edge cases
- retro_flightcheck.py: add new validation checks
- capture_evidence.sh: new script for PR evidence collection
- AI_GRAPHITI_PROTOCOL.md: document agent trail protocol
- pr-monitor.md: update skill command definition

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(submodules): update BoTZ-gateway and Cipher pointers

Update submodule pointers to latest reviewed commits from
2026-03-01 security sweep.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(security): 2026-03-01 submodule security reviews and agent notes

- 5 submodule security reviews (Agent Zero, BoTZ, DoX, ToKenism, transcribe-and-fetch)
- Security queue tracker and sitrep JSON
- AGNOTE4482 FlOO$ and Flute agent notes
- CHIT review-sweep skill command and post-review hook

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* chore: add gitignore for runtime data and DAO docs (#743)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* fix(security): update submodule pointers to 2026-03-01 review fix branches

Update gitlink pointers for 5 submodules to their security fix branches:
- BoTZ: auth-gate /.well-known/agent.json (PR #70)
- ToKenism-Multi: all P1/P2 cred defaults fixed (PR #46)
- Agent-Zero: path containment + supervisord users (PR #8)
- transcribe-and-fetch: openai v2 alignment + doc scrub (PR #44)
- DoX: secrets externalized + honest 501 (PR #114)

Also update review status doc with fix verification.

All 7 P1 and 20 P2 findings resolved. 4 dependabot PRs merged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(env): require dotnet sdk in bootstrap preflight

* chore: add gitignore for runtime data, DAO docs, and env backups

Add entries to prevent accidental commits of:
- pmoves/jellyfin-ai/ (runtime config/data from Jellyfin AI stack)
- pmoves/pmoves/PR_EVIDENCE/ (smoke test evidence artifacts)
- pmoves/docs/logs/pr_monitor_* (runtime PR monitor logs)
- CATACLYSM_STUDIOS_INC/PMOVES DAO/ (managed separately)
- pmoves/env.jellyfin-ai, pmoves/env.supa.runtime.bak.* (env backups)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* feat(models): model registry reconciliation + persona seeds + readiness check (#741)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* fix(security): update submodule pointers to 2026-03-01 review fix branches

Update gitlink pointers for 5 submodules to their security fix branches:
- BoTZ: auth-gate /.well-known/agent.json (PR #70)
- ToKenism-Multi: all P1/P2 cred defaults fixed (PR #46)
- Agent-Zero: path containment + supervisord users (PR #8)
- transcribe-and-fetch: openai v2 alignment + doc scrub (PR #44)
- DoX: secrets externalized + honest 501 (PR #114)

Also update review status doc with fix verification.

All 7 P1 and 20 P2 findings resolved. 4 dependabot PRs merged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(env): require dotnet sdk in bootstrap preflight

* docs(agents): overlay TAC model/persona readiness into graphiti protocol

* docs(agents): correct TAC status wording for local staged artifacts

* feat(models): reconcile model registry with Anthropic, TTS, and expanded service mappings

Add Anthropic provider (claude-sonnet-4-5, claude-opus-4-5, claude-haiku-4-5)
as persona backbone. Add TTS provider with 6 engines from Ultimate TTS Studio.
Add 5 missing Ollama models from gpu-models.yaml (qwen3:32b, qwen3:1.7b,
llama3.2:3b, codellama:7b, deepseek-coder:6.7b). Fix VRAM values to match
gpu-models.yaml truth (qwen3:8b: 8000→6144, nomic-embed-text: 1000→512).
Expand service-model mappings from 4 to 15+ services including hirag, archon,
coding, orchestrator, vl_sentinel, tts, extract_worker, and more.

Covers TAC branches B + C.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(personas): integrate 8 standard persona seeds into initdb pipeline

Copy persona seeds from pmoves/db/v5_14_seed_standard_personas.sql into the
active Supabase initdb pipeline as 17_persona_seed.sql. Personas reference
claude-sonnet-4-5 (Developer/Creator/Analyst/Tester), claude-opus-4-5
(Researcher/Coordinator/Security), and claude-haiku-4-5 (Archivist).

Sequenced after model registry (12) to ensure model_preference references
are valid. Preserves ON CONFLICT (name, version) idempotency.

Covers TAC branch A.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(gpu): sync gpu-models.yaml with SQL model registry

Add 10 models missing from gpu-models.yaml that exist in SQL and consume
local GPU VRAM: qwen2.5:32b, qwen2.5:14b, qwen2-vl:7b, qwen3-reranker:4b,
nemotron-mini, llama3.1, qwen3-embedding:4b/8b, embeddinggemma:300m.
GPU Orchestrator needs these entries for VRAM scheduling on RTX 5090.

Covers TAC branch D.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(db): add persona-model resolution view for runtime agent identity lookup

Create persona_model_resolution view joining persona → model → provider
for runtime resolution of which API endpoint to call for each persona.
Also adds active_persona_summary convenience view. Grants SELECT to
PostgREST anon/auth roles.

Covers TAC branch F.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(ops): add model-readiness check and Make target

Create model_readiness_check.py that validates:
- Supabase model_providers populated with ≥8 active providers
- Supabase personas table populated with ≥8 rows
- Ollama has expected local models pulled
- TensorZero gateway operational
- persona_model_resolution view returns valid data

Add 'make model-readiness' target and wire into verify-all chain.

Covers TAC branch E.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(db): harden model/persona seed determinism and view security

* fix(ops): enforce readiness gate and close TAC doc drift

* fix(sql): harden studio_board RLS policy for service_role only

* fix(db): reconcile model provider upserts and enforce studio policy replacement

- update model_providers upserts to refresh mutable fields (type/api_base/api_key_env_var/description/active/metadata)\n- always replace studio_board_service_role_all policy in migration for upgrade parity\n- clarify persona resolution grant comment to match PostgREST role grants\n- add readiness-check type hints/constants and align TAC verify steps

* fix(security): tighten studio_board revokes and TensorZero reachability checks

* fix(readiness): enforce registry thresholds and harden studio_board revokes

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* docs(agents): comprehensive AGENTS directory review and cross-reference fixes (#742)

* docs(agents): update gap analysis with Phase 1 completions

- Mark Phase 1 roadmap items as complete (model registry, persona seeds,
  GPU models YAML, service-model mappings)
- Update CHIT integration status from None to Partial
- Add A2A MCP foundation status
- Update security hooks as implemented
- Refresh date to 2026-03-01

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(agents): add cross-references between operator docs

- AGENT_CONTEXT_PATTERNS: add hook portability warning for Windows
- CODEX_CIPHER_MEMORY: add cipher categories table for quick reference
- CODEX_OPERATOR_HOME: add known gaps link to gap analysis
- CODEX_RUNTIME_PROTOCOL: add Codex-Claude collision handling section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(agents): create README.md index for 69-file directory

Add a start-here index document that catalogs all 69 files in the
AGENTS directory with descriptions and category groupings. Provides
newcomers a navigation map for the agent documentation corpus.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(agents): add concrete persona seed examples to PERSONAS.md

- Add 4 worked examples (Developer, Creator, Researcher, Analyst)
  showing model_preference, chit_attribution, and tool_allowlist
- Document persona inheritance chain (seed SQL → Supabase row →
  agent_registry.yaml → runtime resolution view)
- Add CHIT attribution configuration section
- Add quick reference summary table for all 8 standard personas
- Cross-reference 17_persona_seed.sql from PR #741

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(registry): complete CHIT toggle coverage and Hi-RAG port split

- Add chit_toggles (encode, sign, bus_emit) to 9 infrastructure agents:
  nats-init, supabase-db, minio, qdrant, meilisearch, neo4j, prometheus,
  grafana, loki (all disabled — infra agents don't produce CHIT events)
- Add gpu_port: 8087 to hi-rag-gateway for v1/v2 port split
- Achieves 60/60 CHIT toggle coverage across all registered agents

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(agents): update SUBMODULE_CODEX_HOMES naming convention docs

- Document naming conventions for codex home files
- Add orphan tracking guidance for unmapped submodules
- Expand directory structure examples

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(agents): align persona status, topology ports, and gap metadata

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* chore: sync Hardened → main after #741-#745 merge batch (#746)

* chore(submodules): bump transcribe-and-fetch + cipher for A2A parity (#745)

* chore(submodules): bump transcribe-and-fetch and cipher for a2a auth parity

* chore(submodules): bump transcribe-and-fetch and cipher to merge-ready A2A heads

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>

* fix(a2a): secure discovery/task APIs and align with upstream agent-card path (#744)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* fix(security): update submodule pointers to 2026-03-01 review fix branches

Update gitlink pointers for 5 submodules to their security fix branches:
- BoTZ: auth-gate /.well-known/agent.json (PR #70)
- ToKenism-Multi: all P1/P2 cred defaults fixed (PR #46)
- Agent-Zero: path containment + supervisord users (PR #8)
- transcribe-and-fetch: openai v2 alignment + doc scrub (PR #44)
- DoX: secrets externalized + honest 501 (PR #114)

Also update review status doc with fix verification.

All 7 P1 and 20 P2 findings resolved. 4 dependabot PRs merged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(env): require dotnet sdk in bootstrap preflight

* fix(security): auth-gate agent-zero A2A discovery endpoint

* fix(security): HMAC CHIT proofs + A2A discovery auth audit + dotnet preflight (#736)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* chore(env): require dotnet sdk in bootstrap preflight

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>

* chore(deps): bump multer (#735)

Bumps the npm_and_yarn group with 1 update in the /CATACLYSM_STUDIOS_INC/L4-PLATFORM/provisions/docker-stacks/jellyfin-ai/api-gateway directory: [multer](https://github.com/expressjs/multer).


Updates `multer` from 2.0.2 to 2.1.0
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](expressjs/multer@v2.0.2...v2.1.0)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.1.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(chit): correct FlOO$ PYTHONPATH for pr-monitor pipeline

* feat(chit): CHIT-signed Graphiti trail + skill pairing awareness (#739)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* fix(security): update submodule pointers to 2026-03-01 review fix branches

Update gitlink pointers for 5 submodules to their security fix branches:
- BoTZ: auth-gate /.well-known/agent.json (PR #70)
- ToKenism-Multi: all P1/P2 cred defaults fixed (PR #46)
- Agent-Zero: path containment + supervisord users (PR #8)
- transcribe-and-fetch: openai v2 alignment + doc scrub (PR #44)
- DoX: secrets externalized + honest 501 (PR #114)

Also update review status doc with fix verification.

All 7 P1 and 20 P2 findings resolved. 4 dependabot PRs merged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(env): require dotnet sdk in bootstrap preflight

* feat(chit): add CHIT-signed Graphiti trail tooling

Add provenance signing for agent trail entries using CHIT HMAC:
- sign_trail.py: CLI tool to create and sign trail entries
- PostToolUse hook for automatic signing on trail file writes
- /chit:sign-trail skill command for interactive use
- Preflight check for dotnet SDK (required by CHIT crypto)
- CLAUDE.md documentation for trail signing workflow
- Settings.json hook registration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(runtime): service networking, healthchecks, SQL, Makefile hardening (#740)

* fix(security): use HMAC for CHIT proofs

* docs(security): add A2A discovery auth sweep findings

* fix(security): update submodule pointers to 2026-03-01 review fix branches

Update gitlink pointers for 5 submodules to their security fix branches:
- BoTZ: auth-gate /.well-known/agent.json (PR #70)
- ToKenism-Multi: all P1/P2 cred defaults fixed (PR #46)
- Agent-Zero: path containment + supervisord users (PR #8)
- transcribe-and-fetch: openai v2 alignment + doc scrub (PR #44)
- DoX: secrets externalized + honest 501 (PR #114)

Also update review status doc with fix verification.

All 7 P1 and 20 P2 findings resolved. 4 dependabot PRs merged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(env): require dotnet sdk in bootstrap preflight

* fix(compose): networking, healthchecks, and env hardening

- Fix external compose service networking and port bindings
- Add missing healthcheck configurations to n8n compose
- Update env.shared.example with new required variables
- Harden docker-compose.yml service definitions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(services): auth, healthchecks, and dependency updates

- Agent Zero: Dockerfile non-root hardening, MCP server auth fixes
- service_registry: improve service discovery and health reporting
- evo-controller: add healthcheck endpoint and startup guards
- flute-gateway: fix import path
- render-webhook: update deps, add input validation
- retrieval-eval: add health and metrics endpoints

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(sql): RLS policies, model registry seeds, and supabase config

- Tighten RLS policies for public_init and geometry tables
- Update model registry seed data with current model versions
- Add studio board RLS migration for service_role access
- Add supabase .gitignore and config.toml for local dev

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(tooling): Makefile targets, smoke tests, and operational scripts

- Makefile: add sign-trail, volume-reset, and infra targets
- smoke.ps1: expand service coverage and timeout handling
- with-env.sh: support multi-tier env loading
- bringup_with_ui.sh: improve startup sequencing
- chit_security.py: fix HMAC signing edge cases
- retro_flightcheck.py: add new validation checks
- capture_evidence.sh: new script for PR evidence collection
- AI_GRAPHITI_PROTOCOL.md: document agent trail protocol
- pr-monitor.md: update skill command definition

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(submodules): update BoTZ-gateway and Cipher pointers

Update submodule pointers to latest reviewed commits from
2026-03-01 security sweep.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs(security): 2026-03-01 submodule security reviews and agent notes

- 5 submodule security reviews (Agent Zero, BoTZ, DoX, ToKenism, transcribe-and-fetch)
- Security queue tracker and sitrep JSON
- AGNOTE4482 FlOO$ and Flute agent notes
- CHIT review-sweep skill command and post-review hook

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* docs(agents): overlay TAC model/persona readiness into graphiti protocol

* docs(agents): correct TAC status wording for local staged artifacts

* feat(models): reconcile model registry with Anthropic, TTS, and expanded service mappings

Add Anthropic provider (claude-sonnet-4-5, claude-opus-4-5, claude-haiku-4-5)
as persona backbone. Add TTS provider with 6 engines from Ultimate TTS Studio.
Add 5 missing Ollama models from gpu-models.yaml (qwen3:32b, qwen3:1.7b,
llama3.2:3b, codellama:7b, deepseek-coder:6.7b). Fix VRAM values to match
gpu-models.yaml truth (qwen3:8b: 8000→6144, nomic-embed-text: 1000→512).
Expand service-model mappings from 4 to 15+ services including hirag, archon,
coding, orchestrator, vl_sentinel, tts, extract_worker, and more.

Covers TAC branches B + C.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(personas): integrate 8 standard persona seeds into initdb pipeline

Copy persona seeds from pmoves/db/v5_14_seed_standard_personas.sql into the
active Supabase initdb pipeline as 17_persona_seed.sql. Personas reference
claude-sonnet-4-5 (Developer/Creator/Analyst/Tester), claude-opus-4-5
(Researcher/Coordinator/Security), and claude-haiku-4-5 (Archivist).

Sequenced after model registry (12) to ensure model_preference references
are valid. Preserves ON CONFLICT (name, version) idempotency.

Covers TAC branch A.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(gpu): sync gpu-models.yaml with SQL model registry

Add 10 models missing from gpu-models.yaml that exist in SQL and consume
local GPU VRAM: qwen2.5:32b, qwen2.5:14b, qwen2-vl:7b, qwen3-reranker:4b,
nemotron-mini, llama3.1, qwen3-embedding:4b/8b, embeddinggemma:300m.
GPU Orchestrator needs these entries for VRAM scheduling on RTX 5090.

Covers TAC branch D.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(db): add persona-model resolution view for runtime agent identity lookup

Create persona_model_resolution view joining persona → model → provider
for runtime resolution of which API endpoint to call for each persona.
Also adds active_persona_summary convenience view. Grants SELECT to
PostgREST anon/auth roles.

Covers TAC branch F.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(ops): add model-readiness check and Make target

Create model_readiness_check.py that validates:
- Supabase model_providers populated with ≥8 active providers
- Supabase personas table populated with ≥8 rows
- Ollama has expected local models pulled
- TensorZero gateway operational
- persona_model_resolution view returns valid data

Add 'make model-readiness' target and wire into verify-all chain.

Covers TAC branch E.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(db): harden model/persona seed determinism and view security

* fix(ops): enforce readiness gate and close TAC doc drift

* fix(a2a): harden discovery/task auth and add agent-card endpoint

* fix(sql): harden studio_board RLS policy for service_role only

* fix(chat-relay): lazy-load supabase client to avoid path shadow in tests

* fix(ci): avoid hard failures in compose validation and yt docs tests

* fix(pmoves-yt): make boto3 optional at import time for test collection

* fix(pmoves-yt): stub tenacity when unavailable in CI test env

* chore(submodule): bump PMOVES-Agent-Zero for canonical agent-card parity

* chore(pr-scope): drop transcribe-and-fetch and cipher gitlink bumps from #744

* fix(a2a): address review blockers — RLS predicate, fail-closed key gate, discovery auth

B-1: studio_board RLS policy now restricts to service_role instead of using(true)
B-2: model-registry SUPABASE_SERVICE_KEY uses :? (fail-closed) instead of :- (empty)
B-3: discover_agents endpoint uses _require_discovery_auth instead of _require_task_auth

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Shaela Bello <slbello@uncg.edu>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@POWERFULMOVES
POWERFULMOVES deleted the docs/agents-review-2026-03-01 branch March 8, 2026 03:23
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.

2 participants