Repo B STARFRAME Ops
Use this skill for STARFRAME runtime contract and persona/runtime behavior changes in <PRIVATE_REPO_B>.
Workflow
- Read
AGENTS.md,BOUNDARIES.md,HEARTBEAT.md, andINSTRUCTIONS.mdbefore edits. - Confirm test scope from touched files:
starframe/andstarframe/proxyflowstests/proxyintent routing and fail-closed behaviortests/starframepersona/runtime policy and scoring surfaces
- Run focused test and contract checks for any changed STARFRAME path.
- Validate proxy + service endpoints in smoke mode for stable, contract-safe responses.
- Verify heartbeat contract behavior (
HEARTBEAT_OKwhen no actionable issues). - Verify scaling/telemetry changes preserve existing contract fields and degraded-mode transitions.
Canonical Commands
Run from <PRIVATE_REPO_B> root:
python -m pytest tests/proxy/test_avatar_proxy_core.py tests/starframe/test_persona_registry.py
python -m pytest tests/starframe/test_provider_score.py tests/starframe/test_degraded_mode_rules.py
python -m pytest tests/starframe/test_unified_api.py tests/api/test_starframe_service.py
# If heartbeat behavior changed, run heartbeat-listed checks only and verify exact success token:
# HEARTBEAT_OK
Optional strict lint/test lane:
ruff check starframe tests
pytest -q
Runtime Smoke Checks
python -m starframe --host 127.0.0.1 --port 9010 --no-start-services
curl -s http://127.0.0.1:9010/health
curl -s http://127.0.0.1:9010/v1/unified/status
curl -s http://127.0.0.1:9010/v1/shim/rag/status
Proxy Contract Guards
- Keep
starframe/proxy/avatar.pydispatch/heartbeat behavior fail-closed when intent payloads are invalid. - Preserve
AvatarProxyCorebudget and penalty math unless migration is documented. - Preserve stable response keys under
Personaandtelemetrypayloads when scaling/energy logic changes. - Keep heartbeat run responses deterministic: exact
HEARTBEAT_OKwhen no actionable trust-layer issue exists.
Scope Boundary
Use this skill only for STARFRAME/AvatarCore proxy and persona-runtime governance in <PRIVATE_REPO_B>.
Do not use this for unrelated lanes; route those through $skill-hub and the most specific matching skill.
Reference
references/starframe-checklist.md
Loopback
If the lane is unresolved, blocked, or ambiguous:
- Capture failing endpoint/tests and failed assertion details.
- Route back through
$skill-hubfor chain recalculation. - Resume only after the updated chain returns a deterministic next step.