Orchestrata Ultimate / RTM / 012-pm-volk
RTM: 012-pm-volk
Requirement to symbol to test rows for 012-pm-volk: PM Volk (Project Manager).
At a glance
| Item | Value |
|---|---|
| Requirement IDs | 59 |
Traced from src/ |
52 (88.1%) |
| Untraced | 7 |
Cited from tests/ |
1 (1.7%) |
Traced in src/ but not cited from tests/ |
51 |
Reading this matrix
This matrix lists each of the 59 requirement IDs of spec 012-pm-volk with the src/ symbols that cite it and the tests that cite it. 52 of them (88.1%) have at least one citing symbol and 7 have none.
1 requirement is also cited from tests/, and 51 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.
Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-012-* (4), REQ-012-NFR (3).
Requirement to symbols to tests
| Requirement | Symbols in src/ |
Tests citing it |
|---|---|---|
REQ-012-001 PMVolk class extends BaseVolk with alias U:PM and role "Project Manager". |
orchestrata_ultimate/agents/volks/pm/volk PMVolk L174 |
none |
REQ-012-002 PMVolk registers with the volk registry at import time so the kernel can discover it. |
none | none |
REQ-012-003 process() accepts a CXPPacket and dispatches on the subject field. |
orchestrata_ultimate/agents/volks/pm/volk process L243 |
none |
REQ-012-004 process() handles subjects: "implement", "scope_review", "progress_update". |
orchestrata_ultimate/agents/volks/pm/volk _handle_progress L390orchestrata_ultimate/agents/volks/pm/volk process L243 |
none |
REQ-012-005 Unrecognised subjects are returned as an error CXPPacket without raising an exception. |
orchestrata_ultimate/agents/volks/pm/volk process L243 |
none |
REQ-012-006 PM_SYSTEM_PROMPT instructs the LLM to count FEATURES, DATA ENTITIES, INTERFACES, and... |
none | none |
REQ-012-007 PM_SYSTEM_PROMPT specifies WARNING thresholds: >10 files, >8 features, >5... |
none | none |
REQ-012-008 _handle_scope_review() calls the LLM with PM_SYSTEM_PROMPT and the inbound packet... |
orchestrata_ultimate/agents/volks/pm/volk _call_scope_llm L304orchestrata_ultimate/agents/volks/pm/volk _handle_scope_review L264 |
none |
REQ-012-009 LLM response must include a SCOPE_RESULT token of either VALIDATED or WARNING. |
orchestrata_ultimate/agents/volks/pm/volk _parse_scope_status L99 |
none |
REQ-012-010 LLM response must include an ESTIMATE block containing a JSON object with keys: files,... |
orchestrata_ultimate/agents/volks/pm/volk _parse_estimate L113 |
none |
REQ-012-011 LLM response may include a WARNINGS block; absence of the block is treated as an empty... |
orchestrata_ultimate/agents/volks/pm/volk _parse_warnings L135 |
none |
REQ-012-012 LLM response must include a TASK_SUMMARY block summarising the work in plain language. |
orchestrata_ultimate/agents/volks/pm/volk _parse_task_summary L149 |
none |
REQ-012-013 Scope validation operates in advisory mode: a WARNING result does not halt the pipeline. |
orchestrata_ultimate/agents/volks/pm/volk _handle_scope_review L264 |
none |
REQ-012-014 The parsed SCOPE_RESULT, ESTIMATE, and WARNINGS are attached to the outbound packet... |
orchestrata_ultimate/agents/volks/pm/volk _build_forward_packet L335orchestrata_ultimate/agents/volks/pm/volk _parse_scope_result L163 |
none |
REQ-012-015 When the LLM returns an unparseable response, _handle_scope_review() logs the raw... |
none | none |
REQ-012-016 _detect_has_ui() scans the task description for UI-indicator keywords (web app,... |
orchestrata_ultimate/agents/volks/pm/volk _detect_has_ui L79 |
none |
REQ-012-017 Keyword matching is case-insensitive. |
orchestrata_ultimate/agents/volks/pm/volk _detect_has_ui L79 |
none |
REQ-012-018 _detect_has_ui() returns True if at least one keyword matches, False otherwise. |
orchestrata_ultimate/agents/volks/pm/volk _detect_has_ui L79 |
none |
REQ-012-019 The has_ui boolean is stored in the outbound packet payload. |
orchestrata_ultimate/agents/volks/pm/volk _build_forward_packet L335 |
none |
REQ-012-020 _detect_has_ui() is called once per scope-review cycle and the result is not... |
orchestrata_ultimate/agents/volks/pm/volk _handle_scope_review L264 |
none |
REQ-012-021 After scope review, _handle_scope_review() routes to alias U:Ux when has_ui is True. |
orchestrata_ultimate/agents/volks/pm/volk _build_forward_packet L335 |
none |
REQ-012-022 After scope review, _handle_scope_review() routes to alias U:Ar when has_ui is False. |
orchestrata_ultimate/agents/volks/pm/volk _build_forward_packet L335 |
none |
REQ-012-023 All structured fields from the inbound packet (thread_id, correlation_id, context) are... |
orchestrata_ultimate/agents/volks/pm/volk _build_forward_packet L335 |
tests/agents/test_postman_adapter.py::test_correlation_id_and_thread_id_are_preserved_separately |
REQ-012-024 The ESTIMATE JSON is forwarded verbatim in the payload so downstream volks can use it. |
orchestrata_ultimate/agents/volks/pm/volk _build_forward_packet L335 |
none |
REQ-012-025 Routing destination is logged at DEBUG level before forwarding. |
orchestrata_ultimate/agents/volks/pm/volk _build_forward_packet L335 |
none |
REQ-012-026 GoalRegistry.create() accepts name, description, priority (GoalPriority), and optional... |
orchestrata_ultimate/agents/volks/pm/goal_registry create_goal L215 |
none |
REQ-012-027 GoalRegistry.activate() transitions a Goal from its current state to ACTIVE; raises... |
orchestrata_ultimate/agents/volks/pm/goal_registry GoalTransitionError L55orchestrata_ultimate/agents/volks/pm/goal_registry activate_goal L253 |
none |
REQ-012-028 GoalRegistry.update() accepts a Goal ID and a partial dict of fields; merges changes... |
orchestrata_ultimate/agents/volks/pm/goal_registry update_goal L283 |
none |
REQ-012-029 GoalRegistry.complete() transitions a Goal to COMPLETED and records a completed_at... |
orchestrata_ultimate/agents/volks/pm/goal_registry complete_goal L313 |
none |
REQ-012-030 GoalRegistry.block() transitions a Goal to BLOCKED and records a reason string. |
orchestrata_ultimate/agents/volks/pm/goal_registry block_goal L343 |
none |
REQ-012-031 GoalRegistry.defer() transitions a Goal to DEFERRED and records a reason string. |
orchestrata_ultimate/agents/volks/pm/goal_registry defer_goal L373 |
none |
REQ-012-032 GoalRegistry.cancel() transitions a Goal to CANCELLED and records a reason string. |
orchestrata_ultimate/agents/volks/pm/goal_registry cancel_goal L402 |
none |
REQ-012-033 GoalRegistry.get() returns a Goal by ID; raises GoalNotFoundError when the ID does not... |
orchestrata_ultimate/agents/volks/pm/goal_registry GoalNotFoundError L62orchestrata_ultimate/agents/volks/pm/goal_registry get_goal L185 |
none |
REQ-012-034 GoalRegistry.list() returns all Goals; accepts an optional status filter. |
orchestrata_ultimate/agents/volks/pm/goal_registry list_goals L170 |
none |
REQ-012-035 GoalRegistry persists all state changes to context.json under the "goals" key... |
orchestrata_ultimate/agents/volks/pm/goal_registry GoalRegistry L91orchestrata_ultimate/agents/volks/pm/goal_registry _migrate_legacy_goals L125orchestrata_ultimate/agents/volks/pm/goal_registry _save_goals L165+8 more |
none |
REQ-012-036 GoalStatus enum defines: ACTIVE, RUNNING, COMPLETED, BLOCKED, DEFERRED, CANCELLED. |
orchestrata_ultimate/core/domain/goal PortfolioGoalStatus L23 |
none |
REQ-012-037 GoalPriority enum defines P0 (critical), P1 (high), P2 (medium), P3 (low). |
orchestrata_ultimate/core/domain/goal PortfolioGoalPriority L40 |
none |
REQ-012-038 SuccessCriteria dataclass exposes: tests_pass (bool), min_coverage_pct (float),... |
orchestrata_ultimate/core/domain/goal PortfolioSuccessCriteria L50 |
none |
REQ-012-039 Goals serialise to and deserialise from JSON without data loss (all fields round-trip). |
orchestrata_ultimate/core/domain/goal PortfolioGoal L69 |
none |
REQ-012-040 GoalRegistry loads existing goals from context.json on construction so state survives... |
orchestrata_ultimate/agents/volks/pm/goal_registry GoalRegistry L91orchestrata_ultimate/agents/volks/pm/goal_registry __init__ L111orchestrata_ultimate/agents/volks/pm/goal_registry _load_goals L160 |
none |
REQ-012-041 GoalReportGenerator.generate() accepts a Goal and iteration results dict; returns a... |
orchestrata_ultimate/agents/volks/pm/goal_report GoalReport L37orchestrata_ultimate/agents/volks/pm/goal_report GoalReportGenerator L68orchestrata_ultimate/agents/volks/pm/goal_report ReportSection L21+2 more |
none |
REQ-012-042 Report includes a summary section stating whether success criteria were met. |
orchestrata_ultimate/agents/volks/pm/goal_report _add_summary_section L435orchestrata_ultimate/agents/volks/pm/goal_report _build_sections L220 |
none |
REQ-012-043 Report includes a test results section comparing actual vs required test pass status. |
orchestrata_ultimate/agents/volks/pm/goal_report _add_test_results_section L456orchestrata_ultimate/agents/volks/pm/goal_report _build_sections L220orchestrata_ultimate/agents/volks/pm/goal_report _evaluate_criteria L127+1 more |
none |
REQ-012-044 Report includes a coverage section comparing actual coverage pct against min_coverage_pct. |
orchestrata_ultimate/agents/volks/pm/goal_report _evaluate_coverage L291orchestrata_ultimate/agents/volks/pm/goal_report _evaluate_criteria L127 |
none |
REQ-012-045 Report includes a spec coverage section comparing actual spec coverage pct against... |
orchestrata_ultimate/agents/volks/pm/goal_report _evaluate_criteria L127orchestrata_ultimate/agents/volks/pm/goal_report _evaluate_spec_coverage L314 |
none |
REQ-012-046 Report includes a trend analysis section using iteration history to identify improving... |
orchestrata_ultimate/agents/volks/pm/goal_report _add_trend_section L480orchestrata_ultimate/agents/volks/pm/goal_report _build_sections L220 |
none |
REQ-012-047 Gap analysis identifies every criterion that was not met and states the delta (e.g.,... |
orchestrata_ultimate/agents/volks/pm/goal_report _analyze_gaps L158orchestrata_ultimate/agents/volks/pm/goal_report _check_coverage_gap L337 |
none |
REQ-012-048 Recommendations section lists concrete next actions derived from identified gaps. |
orchestrata_ultimate/agents/volks/pm/goal_report _check_iteration_limit L394orchestrata_ultimate/agents/volks/pm/goal_report _check_oscillation L359orchestrata_ultimate/agents/volks/pm/goal_report _generate_recommendations L189 |
none |
REQ-012-049 Overall progress is calculated as (criteria met / total criteria) * 100, rounded to... |
orchestrata_ultimate/agents/volks/pm/goal_registry _estimate_progress L494orchestrata_ultimate/agents/volks/pm/goal_registry _score_tests L524orchestrata_ultimate/agents/volks/pm/goal_report _calculate_progress L416 |
none |
REQ-012-050 GoalReportGenerator.generate() is a pure function โ it does not mutate the Goal or... |
orchestrata_ultimate/agents/volks/pm/goal_report GoalReportGenerator L68orchestrata_ultimate/agents/volks/pm/goal_report generate L83 |
none |
REQ-012-051 PM monitors CXP packet flow for progress tracking and emits iteration_stalled when... |
orchestrata_ultimate/agents/volks/pm/budget is_stalled L141orchestrata_ultimate/agents/volks/pm/volk _emit_stall_if_due L533orchestrata_ultimate/orchestrator/pipeline_runner _notify_pm_iteration_end L1112+1 more |
none |
REQ-012-052 PM emits progress_update at each stage transition (US-003). Implemented:... |
orchestrata_ultimate/agents/volks/pm/volk _emit_stage_progress L484 |
none |
REQ-012-053 PM emits budget_warning when 80% of any budget (LLM calls, duration, fix cycles) is... |
orchestrata_ultimate/agents/volks/pm/budget readings L71orchestrata_ultimate/agents/volks/pm/volk _emit_budget_events L496 |
none |
REQ-012-054 PM emits budget_exceeded when 100% of any budget is consumed; advisory only โ never... |
orchestrata_ultimate/agents/volks/pm/budget readings L71orchestrata_ultimate/agents/volks/pm/volk _emit_budget_events L496 |
none |
REQ-012-055 PM produces a structured iteration_summary dict (files, tests passed/failed, pass... |
orchestrata_ultimate/agents/volks/pm/budget build_iteration_summary L163orchestrata_ultimate/agents/volks/pm/volk finalize_iteration L562 |
none |
REQ-012-056 PMConfig (SPEC-012 ยง Configuration) governs budgets and scope thresholds; defaults... |
orchestrata_ultimate/agents/volks/pm/volk _apply_scope_threshold_warnings L456 |
none |
REQ-012-NFR-001 PM processing adds < 1s latency to pipeline |
none | none |
REQ-012-NFR-002 PM is advisory only โ never blocks pipeline |
none | none |
REQ-012-NFR-003 PM state survives process restart (Redis-backed) |
none | none |