7 KiB
Pulse Agent Values
This file is the canonical high-level values layer for Pulse agents.
It exists so agent-facing guidance can stay short, stable, and principle-led while the detailed operating rules live in the control plane, active profile, status model, subsystem contracts, audits, and guardrails.
This file is not a second protocol. It should explain what good behavior means, not restate the detailed steps that already belong to the canonical system.
Purpose
- Give agents a small, durable values layer before the detailed machinery takes over.
- Keep prompt-level guidance principle-led instead of turning prompts into a duplicate policy engine.
- Make the canonical system, not the prompt, carry the detailed operating burden.
Values
- Follow the source of truth. When governance, ownership, or current priority is unclear, resolve it from the canonical control files instead of improvising local rules.
- Prefer one truth over repeated instruction. If the same rule must keep being restated in prompts or chat, the system is still too interpretive and should be strengthened at the canonical layer.
- Let values guide and let systems enforce. Prompt-like guidance should express posture, priorities, and decision heuristics; detailed enforcement should live in code, contracts, audits, schemas, and governed control files.
- Make the right path the easy path. Improve discovery, proof routing, and guardrails so agents naturally land on the canonical path instead of needing verbose procedural reminders.
- Reduce drift, not just symptoms. Fix the underlying source-of-truth, ownership, or audit gap before adding more prompt detail.
- Prefer durable fixes over local success. A patch is not complete if it only succeeds on the inherited path while the canonical system remains weak or bypassable.
- Normalize durable direction. When the user states a lasting product truth, consistency rule, or change in priority, record it in the owning governance surface instead of leaving it as chat.
- Keep prompts light. Prompt text should set the agent in motion and point it at the canonical system; it should not try to encode the whole operating manual.
- Route quietly. Canonical resolution, lane mapping, claim checks, and similar governance setup should happen as internal plumbing by default. Surface that machinery only when it materially changes scope, blockers, or what the user needs to understand next.
- Treat guardrail work as support work. Proof routing, registry cleanup, contract ratchets, and guardrail-only test additions can strengthen a lane, but they do not count as substantive lane progress by themselves. Advancing lane state should normally require an owned runtime or product-surface delta in the same slice unless the lane's remaining gap is explicitly governance-only.
- Keep legacy support at the boundary. Backward compatibility is acceptable only where a real external boundary, migration edge, upgrade path, or explicit interoperability obligation still requires it. Do not preserve or polish legacy-primary internal paths when a canonical v6 path exists.
- Prefer the largest coherent slice. When a claimed lane is already moving through one clear behavior arc on one surface, prefer the largest same-surface slice that still has one coherent proof story. Split work only when there is a real risk, concept, or proof boundary, not merely because smaller residue items can be named.
- Treat scores and evidence as signals, not targets. Lane scores, missing evidence references, and proof counts are diagnostic signals that help identify the real runtime, product, ownership, or governance gap. They are not the work item by themselves. Fix the actual gap first, then record the proof that the gap is closed.
- Use worktrees when a mutating slice needs physical isolation. Claims and lane ownership reduce logical overlap, but they do not isolate hooks, dirty state, or staged scope. Use a dedicated worktree when a slice needs that isolation — for example when a subagent needs to mutate independently and land back cleanly. A shared checkout is fine for normal single-session work.
- Let the active target choose the default queue.
When the active target is a lane-expansion initiative and
status_audit.py --prettyexposes anavailable_candidate_lane_queue, treat that queue as the default next-pick surface. Cleanup, presentation polish, and guardrail-only residue should normally support a selected candidate lane or an active blocker rather than displacing the queue. - Make every governed slice explicit.
A mutating slice should carry exactly one active
work_claimnaming the lane, candidate lane, coverage gap, or narrower governed item it advances. If the slice is support-only plumbing, claim the owning governed surface and say why that plumbing is required in the claim summary. Before replacing or releasing the claim, record any same-lane residual in the owning lane completion or follow-up surface instead of letting the task disappear as informal context.
Delegation Rule
Use this file for values and posture only.
Use the detailed canonical system for specifics:
docs/release-control/CONTROL_PLANE.mddocs/release-control/control_plane.json- the active profile's
SOURCE_OF_TRUTH.md - the active profile's
status.json - the active profile's development protocol
- subsystem registry and subsystem contracts
- audit scripts and guardrail tests
If the values here and the detailed canonical system ever seem to disagree,
the detailed canonical system is the path that must be corrected or clarified.
Do not paper over that mismatch by expanding prompt-like guidance further.
Use python3 scripts/release_control/control_plane.py --agent-entrypoint --pretty
to print the canonical ordered bundle directly instead of reconstructing it
from memory.
Do that resolution quietly unless the result materially changes the plan,
scope, or user-visible outcome.
Use python3 scripts/release_control/work_claim.py --kind ... --id ... --summary ... --agent-id ... --pretty
to reserve or renew exactly one governed slice without hand-editing
status.json.
Current State
- Pulse now treats this file as the evergreen values entry point for agent behavior.
- Prompt-level guidance should stay principle-led and delegate detailed rules to the canonical control-plane and profile-specific surfaces.
- In concrete terms: prompt-like guidance should express posture, priorities, and decision heuristics.
- In concrete terms: the canonical system, not the prompt, carry the detailed operating burden.
- In concrete terms: governance routing should usually be automatic and mostly invisible to the user.
- In concrete terms: run
python3 scripts/release_control/agent_preflight.py --prettyas the first executable preflight, then reserve a claim and rerun it with--require-active-claimbefore mutating a governed slice.