- Delete .mcp.json + .claude/rules/repo-mem.md; drop .repo-mem from .gitignore - Remove repo-mem / substrate_score / repo_search references from all .md - Move 15 EVOLV skills from .agents/skills/ to .claude/skills/ so they are auto-discovered by the Claude Code harness and invokable via the Skill tool - Retire .agents/skills/evolv-orchestrator (duplicate of the subagent at .claude/agents/evolv-orchestrator.md); orchestrator lives as a subagent only - Drop OpenAI-format agent yaml metadata from each skill (not needed for CC) - Update CLAUDE.md, CONTRACTS.md, AGENTS.md to point at the new locations and disambiguate skills (.claude/skills/) vs subagents (.claude/agents/) - Fix CLAUDE.md tick-loop wording (opt-in per-node, not a fixed 1000ms) - Widen .claude/rules/ paths frontmatter so node-architecture and telemetry rules trigger on more relevant files; add frontmatter to flow-layout rule - Bump CONTRACTS.md review date to 2026-05-19; add step 7 to the contract- change workflow (review example flows when topic usage changes) - Bump nodes/generalFunctions pin (Home.md substrate_score reference removed) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
---
|
|
name: evolv-alarms-interlocks-permissives
|
|
description: Design and review alarms, interlocks, and permissive logic for EVOLV control nodes. Use when implementing trip conditions, permissive checks, startup/shutdown guards, alarm priorities, latching/reset behavior, and operator-facing fault handling.
|
|
---
|
|
|
|
# EVOLV Alarms Interlocks Permissives
|
|
|
|
## Mission
|
|
Make alarm and interlock behavior explicit, testable, and operationally safe while preserving availability-first policy bounds.
|
|
|
|
## Harness Execution Contract
|
|
- Build alarm/interlock map from current node contracts and state logic.
|
|
- Define invariants before edits:
|
|
- trips/permissives are deterministic
|
|
- latching/reset behavior is explicit
|
|
- operator-visible diagnostics are preserved
|
|
- Validate with sequence and fail-state tests.
|
|
|
|
## Scope
|
|
- `nodes/pumpingStation/`
|
|
- `nodes/machineGroupControl/`
|
|
- `nodes/rotatingMachine/`
|
|
- Any node with mode/state transitions and protective actions
|
|
|
|
## Workflow
|
|
1. Enumerate alarm conditions and priority/severity.
|
|
2. Define interlock and permissive truth tables.
|
|
3. Verify startup/shutdown/emergency sequences.
|
|
4. Confirm reset, auto-recovery, and manual acknowledgement behavior.
|
|
5. Ensure outputs expose actionable fault context.
|
|
|
|
## Standards
|
|
- Avoid hidden permissives; every gate should be observable.
|
|
- Keep alarm naming stable and semantically clear.
|
|
- Separate advisory warnings from trip-level protection.
|
|
- Preserve controlled compatibility for released fault topics.
|
|
|
|
## Test Expectations
|
|
Cover:
|
|
- trip activation and reset/latch behavior
|
|
- permissive-denied and permissive-restored transitions
|
|
- out-of-order signal handling in sequence transitions
|
|
- degraded sensor quality paths and alarm escalation
|
|
|
|
## Deliverables
|
|
Return:
|
|
- alarm/interlock/permissive matrix
|
|
- changed files/tests and evidence
|
|
- unresolved protection-vs-availability tradeoffs
|
|
|
|
Decision interview triggers:
|
|
- changed trip thresholds or permissive logic with operational impact
|
|
- altered reset authority (auto vs manual)
|
|
- alarm contract changes affecting external consumers
|