Skip to content

fix(tier): Service alignment to tier env architecture - #477

Closed
POWERFULMOVES wants to merge 23 commits into
feat/submodule-restructurefrom
PMOVES.AI-Edition-Hardened
Closed

fix(tier): Service alignment to tier env architecture#477
POWERFULMOVES wants to merge 23 commits into
feat/submodule-restructurefrom
PMOVES.AI-Edition-Hardened

Conversation

@POWERFULMOVES

Copy link
Copy Markdown
Owner

Summary

Align services to tier env architecture with dynamic port registry and credential synchronization.

Changes

  • Tier Anchors: Added <<: *env-tier-* to qdrant, postgrest-health, bgutil-pot-provider
  • Dynamic Ports: Converted 5 hardcoded ports to ${SERVICE_PORT:-default} pattern
  • Port Registry: Added BOTZ_GATEWAY_PORT, EVO_CONTROLLER_PORT, ULTIMATE_TTS_PORT, FLUTE_GATEWAY_PORT, FLUTE_WS_PORT, GITHUB_RUNNER_CTL_PORT
  • PostgREST Fix: Moved PGRST_DB_URI to env.tier-api (fixes compose-time var expansion)
  • CHIT v2: Added sync_common_credentials() for automatic credential consistency
  • Multi-tier secrets: Jellyfin secrets now target both agent and media tiers
  • Example Files: Updated env.tier-*.example with correct structure
  • Documentation: Added Makefile refactor plan and Geometry Bus RLS policies

Testing

  • PostgREST connects to PostgreSQL successfully
  • All tier env files load without errors
  • Services use tier anchors for credential inheritance
  • Example files have correct structure

Breaking Changes

None. Default port values remain the same.


🤖 Generated with Claude Code

POWERFULMOVES and others added 17 commits January 1, 2026 16:21
…365)

* feat(cli): rebrand Crush CLI to PMOVES CLI

Update user-facing branding from "Crush CLI" to "PMOVES CLI" while
maintaining backward compatibility with existing Crush infrastructure.

Changes:
- Update crush_app help text: "Crush CLI integration" → "PMOVES CLI integration"
- Update crush_configurator.py docstring to emphasize PMOVES deployment
- Update command help texts for setup/status/preview commands
- Update user-facing documentation in .claude/commands/crush/

Rationale:
The "Crush" name originated as an internal codename but the production
CLI should reflect the PMOVES brand for consistency with the broader
PMOVES.AI ecosystem. The underlying "crush" command name and file
paths are preserved for backward compatibility.

Modified Files:
- pmoves/tools/mini_cli.py
- pmoves/tools/crush_configurator.py
- .claude/commands/crush/setup.md
- .claude/commands/crush/status.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat(cli): add PMOVES Agent SDK commands to mini CLI

Implement agent-sdk sub-commands for creating and managing PMOVES Agent
instances with full ecosystem access via interactive CLI wizard.

Features Implemented:
- `pmoves agent-sdk create` - Interactive wizard for agent creation
  - 5 agent roles: researcher, code-reviewer, media-processor, knowledge-manager, general
  - Role-based tool and subagent configuration
  - Automatic NATS, TensorZero, and Hi-RAG connection
  - Unique agent ID generation with timestamps
  - Beautiful formatted output with configuration summary

- `pmoves agent-sdk run` - Execute tasks with existing agents
  - Task execution with streaming output
  - Model override support
  - Session resumption capability

- `pmoves agent-sdk list` - List agent instances
  - Status filtering
  - Configurable limit (placeholder for SessionManager integration)

- `pmoves agent-sdk status` - Check agent status
  - NATS heartbeat monitoring
  - Active agent information (placeholder for SessionManager)

Technical Details:
- Integrated with PMOVES-BoTZ Agent SDK
- Async/await pattern for agent lifecycle management
- Interactive role selection with graceful Ctrl+C handling
- Comprehensive error handling for missing dependencies
- Auto-discovery of PMOVES-BoTZ submodule

Usage Examples:
```bash
# Interactive agent creation
pmoves agent-sdk create

# Pre-select role
pmoves agent-sdk create --role researcher

# Execute task
pmoves agent-sdk run pmoves-researcher-1735123456 "Analyze architecture"

# List agents
pmoves agent-sdk list --status active --limit 50
```

Related Documentation:
- .claude/commands/agent-sdk/create.md
- .claude/commands/agent-sdk/run.md
- .claude/commands/agent-sdk/resume.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* docs(agent-sdk): update CLI documentation for run and resume commands

Update user-facing documentation for agent-sdk CLI commands to reflect
the new PMOVES CLI integration pattern.

Changes:
- `.claude/commands/agent-sdk/run.md`
  - Updated from skill-based to CLI command documentation
  - Added usage examples with `pmoves agent-sdk run`
  - Documented arguments and options
  - Added troubleshooting section

- `.claude/commands/agent-sdk/resume.md`
  - Updated from skill-based to CLI command documentation
  - Added session management workflow
  - Documented session states and storage backends
  - Added troubleshooting section

Documentation Pattern:
All agent-sdk command documentation now follows a consistent pattern:
- Usage section with use cases
- Implementation section with CLI examples
- Arguments and options tables
- What It Does checklist
- Related commands section
- Notes and troubleshooting

This aligns with the create.md documentation updated in the previous
implementation phase.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(agent-sdk): address all PR #365 review comments

Fix all 14 issues from comprehensive PR review across error handling,
documentation, and code quality improvements.

Critical Fixes (4):
- Make NATS connection mandatory with ConnectionError on failure
- Add two-layer error handling to task execution
- Replace generic Exception catches with specific error types
- Exit with code 1 on all failure paths

Documentation (5):
- Correct NATS event subjects (remove non-existent events)
- Add prerequisites sections to all agent-sdk docs
- Fix example code placeholders with runnable examples
- Update model IDs (remove date suffixes)
- Document storage backends and timeouts

Improvements (5):
- Add Google-style docstrings to key functions (≥80% coverage)
- Enhance Crush configurator docstrings
- Improve list/status placeholders with NATS monitoring guidance
- Fix context manager usage pattern
- Add comprehensive timeout documentation

All syntax checks pass. Docstring coverage ≥80%.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Codex Agent <codex-agent@example.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Merge PR #393 - Geometric framework upgrade

- Merged main's github-runner-ctl service configuration
- Removed duplicate @DataClass decorator in controller.py
- Fixed env.tier-agent environment variables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…rs (#321)

Comprehensive GEOMETRY BUS integration across PMOVES.AI services with CHIT shape attribution support.

- CGP publishing to `tokenism.cgp.ready.v1` in DeepResearch and SupaSerch
- CHIT voice attribution events in Flute Gateway
- CHIT event subscriptions in Publisher Discord
- Prometheus metrics and /metrics endpoint for DeepResearch
- Proper error handling separation (build vs publish errors)
- TensorZero mode with Ollama model support

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…ization (#343)

* feat(geometry-bus): add submodules and CHIT mathematical documentation

Registers previously half-initialized submodules and adds new ones:
- PMOVES-Pinokio-Ultimate-TTS-Studio: TTS Pinokio package
- PMOVES-tensorzero: Full TensorZero codebase
- Pmoves-hyperdimensions: Three.js parametric surface visualizer

Adds PMOVESCHIT mathematical foundation documentation:
- Hyperbolic geometry (Poincaré Disk Model)
- Riemann zeta dynamics for spectral filtering
- Holographic principle for dimensional encoding
- Human_side prosodic sidecar for voice agents

This establishes the mathematical framework for CGP v2 (CHIT Geometry
Packets) used in cross-modal GEOMETRY BUS communication.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

* feat(geometry-bus): add CHIT and hyperdimensions TAC commands

Adds 7 new TAC commands for GEOMETRY BUS interaction:

CHIT Commands:
- /chit:encode - Encode data as CGP v2 packet
- /chit:decode - Decode and validate CGP v2 packets
- /chit:visualize - Render packet geometry via hyperdimensions
- /chit:bus - Publish/subscribe to GEOMETRY BUS

Hyperdimensions Commands:
- /hyperdim:render - Render parametric surfaces (Poincaré, zeta, etc.)
- /hyperdim:animate - Create animated visualizations
- /hyperdim:export - Export to GLTF, STL, PNG formats

Updates geometry-nats-subjects.md with:
- CHIT packet lifecycle events (encoded/decoded)
- Visualization request/ready events
- EvoSwarm population and solution events
- tokenism.transform.v1 for transformations
- TAC command integration table

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

* docs: align PMOVESCHIT, Flute, and persona documentation with implementation

Phase 1: Document Consolidation
- Add deprecation notices to duplicate Flute Architecture docs

Phase 2: PMOVESCHIT Core Updates
- Create IMPLEMENTATION_STATUS.md tracking TypeScript/Python modules
- Add implementation cross-references to PMOVESCHIT.md
- Add status banners to decoder specification docs

Phase 3: Flute Voice Documentation
- Create FLUTE_PROSODIC_ARCHITECTURE.md (boundary types, TTFS optimization)
- Create voice-personas.md (Supabase schema, provider configs)

Phase 4: CATACLYSM & Personas
- Create PERSONAS.md with math-enhanced 325+ persona framework
- Add implementation links to CATACLYSM_STUDIOS_INC.md

Phase 5: Cross-Reference Index
- Create documentation-index.md navigation matrix

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

---------

Co-authored-by: Codex Agent <codex-agent@example.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Add /workflow/consciousness_demo and /workflow/consciousness_categories
endpoints to generate CGP (Constellation Geometry Protocol) packets from
the Kuhn Landscape consciousness taxonomy (325 theories).

Features:
- Load and parse kuhn_full_taxonomy.json (Robert Lawrence Kuhn, 2024)
- Filter theories by category (materialism, dualism, panpsychism, etc.)
- Generate CGP packets with constellations and points
- Return theory metadata with proponents and descriptions

Endpoints:
- POST /workflow/consciousness_demo - Generate CGP from theories
- GET /workflow/consciousness_categories - List available categories

Includes 12 unit tests validating:
- Taxonomy loading and parsing
- Theory extraction and filtering
- CGP packet structure
- Spectrum generation per category

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Resolved merge conflicts:
- pmoves/docker-compose.yml: Keep tier-based env file anchors (security feature)
- pmoves/services/deepresearch/worker.py: Take hardened version with _get_or_create_counter fix
- pmoves/services/notebook-sync/sync.py: Convert @app.on_event to lifespan context manager
- pmoves/services/hi-rag-gateway-v2/app.py: Convert @app.on_event to lifespan context manager

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Applies dynamic port pattern to all services and updates services catalog
with comprehensive tier/port/core status classification.

Changes:
- Apply ${SERVICE_PORT:-default} pattern to 46 service port mappings
- Update services catalog with 62 services including tier assignments
- Add port variable names, core status, and DOCKED_MODE indicators
- Verify voice service configurations (flute-gateway, ultimate-tts-studio)

Dynamic Port Pattern:
- Before: ports: ["8080:8080"]
- After:  ports: ["${AGENT_ZERO_PORT:-8080}:8080"]

Services Catalog:
- 5-tier network model documentation
- Port variable references for all services
- Core vs optional classification
- DOCKED_MODE support indicators

Voice Services Verified:
- flute-gateway: ${FLUTE_GATEWAY_PORT:-8055}:8055, :8056
- ultimate-tts-studio: ${ULTIMATE_TTS_STUDIO_PORT:-7861}:7861

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Docker Compose does not support nested variable expansion like
${VAR1:-${VAR2:-default}}. When VAR2 is empty, this creates
invalid port strings like "-8099".

Fixed 3 services:
- supaserch: ${SUPASERCH_PORT:-${SUPASERCH_HOST_PORT}:-8099}
  → ${SUPASERCH_PORT:-8099}
- tokenism-simulator: ${TOKENISM_SIMULATOR_PORT:-${TOKENISM_HOST_PORT}:-8103}
  → ${TOKENISM_SIMULATOR_PORT:-8103}
- tokenism-ui: ${TOKENISM_UI_PORT:-${TOKENISM_UI_HOST_PORT}:-8504}
  → ${TOKENISM_UI_PORT:-8504}

Use the generated .env.generated file to override these ports
via environment variables if needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## Changes

### 1. Remove hardcoded credentials from env.tier-data (CRITICAL)
- POSTGRES_PASSWORD: Replace hardcoded value with ${POSTGRES_PASSWORD:-changeme}
- NEO4J_AUTH: Replace hardcoded value with ${NEO4J_PASSWORD:-changeme}
- Users must now set these via environment variables

### 2. Fix overly permissive RLS policies (CRITICAL)
- Replace USING (true) with namespace-based tenant isolation
- Tables affected: anchors, constellations, shape_points, shape_index, detections, segments, emotions
- Policies now use: current_setting('app.current_tenant', true)
- Fallback to 'pmoves' namespace for default tenant

### 3. Secure ClickHouse healthcheck URLs (CRITICAL)
- Remove hardcoded credentials from healthcheck URLs
- Use ${CLICKHOUSE_USER} and ${CLICKHOUSE_PASSWORD} environment variables
- Also fixed TENSORZERO_CLICKHOUSE_URL with same approach

## Security Impact

These changes address CRITICAL vulnerabilities found in code review:
- Hardcoded production credentials removed from version control
- Database row-level security now implements proper tenant isolation
- Process list no longer exposes ClickHouse credentials

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ructure

This ensures the security fixes from PMOVES.AI-Edition-Hardened are
present when merging PR #473.

Fixes:
1. env.tier-data - Remove hardcoded credentials
   - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
   - NEO4J_AUTH: neo4j/${NEO4J_PASSWORD:-changeme}

2. pmoves/supabase/initdb/06_media_analysis.sql - Restore with tenant isolation
   - Replaced USING (true) with namespace-based tenant isolation
   - Policies check app.current_tenant setting

3. pmoves/supabase/initdb/09_geometry_rls.sql - Restore with tenant isolation
   - Replaced USING (true) with namespace-based tenant isolation
   - Read policies check app.current_tenant setting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
read_shape_points_tenant -> read_shape_index_tenant
…d' into PMOVES.AI-Edition-Hardened

# Conflicts:
#	features/gateway/docker-compose.yml
… Consciousness docs from main branch

This commit restores critical documentation and implementation files that were
missing from the PMOVES.AI-Edition-Hardened branch.

## Evoswarm Implementation (9 files) - CRITICAL
- .claude/context/evoswarm.md - Evoswarm context documentation
- pmoves/docs/context/py_and_collabs/evoswarm_evolutionary_test_time_optimization_for_llm_agents.py
- pmoves/docs/context/py_and_collabs/EvoSwarm_Evolutionary_Test_Time_Optimization_for_LLM_Agents.ipynb
- pmoves/docs/architecture/evoswarm-agentgym-rl-integration.md
- pmoves/docs/architecture/evoswarm-agentgym-rl-quickstart.md
- pmoves/docs/notes/chit_evoswarm_gan_plan.md
- pmoves/contracts/schemas/geometry/swarm.meta.v1.schema.json
- pmoves/supabase/migrations/2025-10-18_geometry_swarm.sql (FIXED: tenant-isolated RLS)
- pmoves/db/v5_13_geometry_swarm.sql

## CHIT Documentation (5 files)
- pmoves/docs/PMOVESCHIT/Human_side.md
- pmoves/docs/PMOVESCHIT/Integrating Math into PMOVES.AI.md
- pmoves/docs/PMOVESCHIT/Mathematical_UI_Design_Specification.md
- pmoves/docs/PMOVESCHIT/Mathematical_UI_Implementation_Plan.md
- pmoves/docs/PMOVESCHIT/PMOVES-CONCHexecution_guideb.md

## Constellation-Harvest-Regularization (3 files)
- pmoves/docs/PMOVESCHIT/Constellation-Harvest-Regularization/README.md
- pmoves/docs/PMOVESCHIT/Constellation-Harvest-Regularization/app.py (18KB)
- pmoves/docs/PMOVESCHIT/Constellation-Harvest-Regularization/Understanding Range-Partition-Entropy (RPE).docx

## Flute Architecture (2 files)
- .claude/context/flute-gateway.md
- pmoves/monitoring/grafana/dashboards/flute-gateway.json

## Geometry Bus (5 files)
- pmoves/services/common/geometry_params.py
- pmoves/services/gateway/scripts/mini_geometry_decode.py
- pmoves/services/gateway/scripts/chit_client.py
- pmoves/services/gateway/scripts/chit_sign.py
- pmoves/supabase/migrations/2025-09-08_geometry_bus.sql
- pmoves/supabase/migrations/2025-10-18_geometry_swarm_compat.sql
- pmoves/supabase/migrations/2025-10-20_geometry_cgp_views.sql

## Consciousness/Persona (4 files)
- pmoves/docs/PERSONAS.md
- pmoves/datasets/personas/ (directory with persona files)
- pmoves/services/gateway/gateway/api/consciousness.py
- pmoves/services/gateway/tests/test_consciousness_demo.py

## Security Fixes Applied
- Fixed RLS policies in 2025-10-18_geometry_swarm.sql to use tenant isolation
- Excluded insecure 2025-09-08_geometry_bus_rls.sql (hardened version exists)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit addresses critical issues preventing service bringup on the
hardened branch before submodule restructure.

**CHIT Secrets Management (secrets_manifest_v2.yaml):**
- Add 14 missing keys to manifest v2 for llm tier:
  - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
  - TENSORZERO_GATEWAY_URL, TENSORZERO_CLICKHOUSE_*
  - TENSORZERO_PG_* (database config)
  - VENICE_API_KEY, Z_AI_API_KEY, MOONSHOT_API_KEY
  - CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN
  - OLLAMA_URL (client compatibility)
- Manifest now has 33 llm tier entries (was 19)

**Make Targets (Makefile):**
- Add `chit-apply-manifest` target for applying v2 manifest to tier env files
- Uses pmoves.chit.apply_manifest_v2() from CHIT module

**Docker Compose Fixes:**
- Add pmoves_data network to tensorzero-gateway (ClickHouse connectivity)
- Fix INVIDIOUS env interpolation: change ${VAR:?required} to ${VAR:-default}
  - invidious service: INVIDIOUS_HMAC_KEY, INVIDIOUS_COMPANION_KEY
  - invidious-companion service: SERVER_SECRET_KEY
- Services now load keys from env.tier-media without manual exports

**Documentation (from main branch):**
- Copy 5 critical documentation files to hardened branch:
  - tier-architecture.md: 6-tier env + 5-tier network model
  - services-catalog.md: Complete service listing with dynamic ports
  - nats-subjects.md: Comprehensive NATS subject catalog
  - geometry-nats-subjects.md: GEOMETRY BUS subjects
  - docs/PORT_REGISTRY.md: Port allocation registry

**Fixes Issues:**
- TensorZero Gateway can now reach ClickHouse via pmoves_data network
- INVIDIOUS services start without manual variable exports
- CHIT manifest v2 workflow is complete and functional
- All tier env files auto-populate via `make chit-apply-manifest`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add <<: *env-tier-* anchors to qdrant, postgrest-health, bgutil-pot-provider
- Fix hardcoded ports to use ${SERVICE_PORT:-default} pattern:
  - botz-gateway: ${BOTZ_GATEWAY_PORT:-8054}
  - evo-controller: ${EVO_CONTROLLER_PORT:-8113}
  - ultimate-tts-studio: ${ULTIMATE_TTS_PORT:-7861}
  - flute-gateway: ${FLUTE_GATEWAY_PORT:-8055}, ${FLUTE_WS_PORT:-8056}
  - github-runner-ctl: ${GITHUB_RUNNER_CTL_PORT:-8104}
- Add port registry variables to env.tier-agent and env.tier-media
- Move PGRST_DB_URI to env.tier-api (fixes compose-time var expansion)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add sync_common_credentials() to enforce credential consistency across tiers
- Add multi-tier targeting for Jellyfin secrets (agent + media tiers)
- Add worker tier static configuration entries (type: static)
- Update apply_manifest_v2() to call sync_common_credentials()
- Update env.tier-*.example files with correct structure and port variables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

coderabbitai Bot commented Jan 7, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

@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.

Comment thread pmoves/docs/PMOVESCHIT/Constellation-Harvest-Regularization/app.py Dismissed
Comment thread pmoves/docs/PMOVESCHIT/Constellation-Harvest-Regularization/app.py Dismissed
Comment thread pmoves/docs/PMOVESCHIT/Constellation-Harvest-Regularization/app.py Dismissed
Comment thread pmoves/docs/PMOVESCHIT/Constellation-Harvest-Regularization/app.py Dismissed
Comment thread pmoves/services/gateway/scripts/chit_sign.py Dismissed
Codex Agent and others added 6 commits January 7, 2026 07:20
Critical security and reliability fixes:

1. sync_common_credentials() - Add error handling & prevent credential override
   - Added force=False parameter to only ADD missing credentials
   - Never REPLACES existing values unless force=True
   - Added comprehensive error handling (PermissionError, OSError, UnicodeDecodeError)
   - Returns Dict[str, List[str]] with detailed changes made
   - Added logging for all operations
   - Updated docstring to list all 10 credentials (was only 6)
   - Added security warning about development defaults

2. decode_secret_map() - Fix bare except clause
   - Changed 'except Exception' to 'except (ValueError, TypeError)'
   - Added warning log on decode failure
   - Preserves raw value as fallback

3. apply_manifest_v2() - Add YAML error handling
   - Added try/except for FileNotFoundError, YAMLError, OSError
   - Validates manifest structure before processing
   - Proper error messages with context

4. RLS policies - Require authentication
   - Changed USING (true) to USING (auth.uid() IS NOT NULL)
   - Added comment about future tenant/namespace scoping

5. secrets_manifest_v2.yaml - Remove duplicate keys
   - Removed duplicate tier_layout, github_sync, docker_secrets

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The env.tier-* files should be gitignored and not tracked in git.
They contain runtime credentials that differ per environment.
Users should copy env.tier-*.example files to create their local configs.

This commit removes the tracked env.tier files from git while keeping
the sanitized local copies for development use.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Scout report: LOW RISK - No conflicts expected
Changes: CI/CD build fixes, Comfy-watcher fixes, notebook-sync style fixes

# Conflicts:
#	.claude/commands/chit/bus.md
#	.claude/commands/hyperdim/animate.md
#	.gitmodules
#	pmoves/docker-compose.yml
#	pmoves/docs/PMOVESCHIT/CATACLYSM_STUDIOS_INC.md
#	pmoves/docs/PMOVESCHIT/PMOVESCHIT.md
#	pmoves/docs/PMOVESCHIT/Pmoves-Aragon-adabara-md
#	pmoves/env.tier-agent
#	pmoves/services/notebook-sync/sync.py
#	pmoves/services/publisher-discord/main.py
#	pmoves/services/supaserch/app.py
#	pmoves/tensorzero/config/tensorzero.toml
Scout report: MEDIUM RISK - Known conflicts expected
- Hi-RAG WebSocket extra_headers removal (uvloop fix)
- NATS auth config changes
- Archon submodule update

# Conflicts:
#	pmoves/tools/mini_cli.py
Scout report: HIGH RISK - Major YAML restructuring expected
- Preserve YAML anchor structure (<<: *env-tier-*)
- Standardize port variable names
- Supabase URL consistency

# Conflicts:
#	pmoves/docker-compose.yml
- fix(publisher-discord): Use urlparse for proper hostname validation instead of substring check (py/incomplete-url-substring-sanitization)
- docs(geometry_decoder): Add comment explaining SHA256 is for key ID generation, not password hashing (py/weak-sensitive-data-hashing - false positive)
- fix(github): Add permissions: contents: read to validate jobs (actions/missing-workflow-permissions)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

Copy link
Copy Markdown
Owner Author

Replaced by PR #478 from clean branch PMOVES.AI-Edition-Hardened-v2. The previous branch had lost critical production services (flute-gateway, consciousness-service) during merge conflict resolution.

POWERFULMOVES pushed a commit that referenced this pull request Jan 18, 2026
- fix(publisher-discord): Use urlparse for proper hostname validation instead of substring check (py/incomplete-url-substring-sanitization)
- docs(geometry_decoder): Add comment explaining SHA256 is for key ID generation, not password hashing (py/weak-sensitive-data-hashing - false positive)
- fix(github): Add permissions: contents: read to validate jobs (actions/missing-workflow-permissions)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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