Skip to content

feat(requirements): ingest structured task and acceptance-criteria context#672

Merged
kunaldhongade merged 1 commit into
mainfrom
feature/663-structured-requirements
Jul 23, 2026
Merged

feat(requirements): ingest structured task and acceptance-criteria context#672
kunaldhongade merged 1 commit into
mainfrom
feature/663-structured-requirements

Conversation

@kunaldhongade

Copy link
Copy Markdown
Member

What changed

  • add a canonical core requirement context with per-statement provenance, acceptance criteria, required proof, affected flows, constraints, confidence, and unresolved questions
  • let codedecay agent preflight ingest repo-local JSON, YAML, or structured Markdown through --requirements
  • require domain-specific evidence before ranking candidate files or configured routes, and report honest insufficient context when grounding is missing
  • preserve requirement evidence separately from CodeDecay suggestions through redteam reports and agent task bundles
  • accept structured requirement context through MCP and explicit task / requirements inputs in GitHub Action agent mode without PR-body scraping, hidden network calls, or model calls
  • document the CLI, MCP, and GitHub Action contracts

Why

Generic task words such as api could previously rank unrelated OpenAPI and route-analysis tooling. Coding agents need inspectable requirement evidence and honest uncertainty before editing, then the same acceptance criteria after a diff exists.

UAT and agentic QA

  • billing-domain fixture outranks unrelated API-tooling decoys
  • configured unrelated routes are excluded
  • no-evidence fixture returns low confidence, no candidates, and an unresolved question
  • JSON/YAML/Markdown artifact ingestion exercises the real CLI
  • built dist CLI smoke verifies the release path
  • post-diff agent bundle, MCP provenance, and GitHub Action forwarding are covered
  • tests use real exported functions and CLI boundaries without mocking the changed behavior

Validation

  • pnpm run lint
  • pnpm typecheck
  • pnpm test — 604 tests passed
  • pnpm eval:pr-safety -- --run-id issue-663-structured-requirements — 2/2 scenarios passed
  • pnpm build
  • pnpm --filter @submuxhq/codedecay pack --dry-run
  • built CLI preflight smoke
  • CodeDecay self-redteam completed; its copied-implementation warning is a false positive because the UAT invokes the real preflight builder and separate CLI, built CLI, MCP, and Action tests cover the public paths

Closes #663

@github-actions github-actions Bot added documentation Improvements or additions to documentation type: test Test coverage, fixtures, or verification improvements area: cli CLI package or command behavior area: core Core types, scoring, or rule runner area: github-action Composite GitHub Action wrapper area: docs README, community files, or documentation area: mcp Model Context Protocol integration area: redteam Redteam orchestration and PR safety harness area: agent Agent task bundle and user-owned agent workflow labels Jul 23, 2026
@github-actions

Copy link
Copy Markdown

CodeDecay PR Check

Lead catch: Test appears to copy implementation logic — packages/agent/test/preflight-requirements-uat.test.ts:11

packages/agent/test/preflight-requirements-uat.test.ts includes logic copied from packages/cli/src/requirements/load.ts; this can make tests pass without protecting real behavior.

Risk: Medium · Merge 54/100 · Decay 54/100 · Security 0/100

Full CodeDecay report

CodeDecay Report

Overall risk: Medium

Score Value
Merge risk 54/100
Decay risk 54/100
Security risk 0/100
Findings Count
High 8
Medium 8
Low 32

Changed Files

  • docs/agent.md modified (+15/-1)
  • docs/github-action.md modified (+6/-0)
  • docs/mcp.md modified (+15/-0)
  • packages/agent/src/bundle.ts modified (+1/-0)
  • packages/agent/src/preflight/render.ts modified (+44/-1)
  • packages/agent/src/preflight/report.ts modified (+125/-20)
  • packages/agent/src/preflight/types.ts modified (+14/-1)
  • packages/agent/src/renderers/task-bundle/markdown.ts modified (+23/-0)
  • packages/agent/src/types.ts modified (+2/-0)
  • packages/agent/test/agent-bundle.test.ts modified (+31/-0)
  • packages/agent/test/preflight-requirements-uat.test.ts added (+102/-0)
  • packages/cli/src/commands/agent.ts modified (+6/-0)
  • packages/cli/src/commands/redteam-report.ts modified (+30/-0)
  • packages/cli/src/docs/command-docs/orchestration.ts modified (+3/-0)
  • packages/cli/src/parsers/agent.ts modified (+11/-0)
  • packages/cli/src/requirements/load.ts added (+198/-0)
  • packages/cli/src/types/agent.ts modified (+1/-0)
  • packages/cli/test/agent.test.ts modified (+115/-0)
  • packages/cli/test/built-cli-agent-redteam.test.ts modified (+37/-0)
  • packages/core/src/index.ts modified (+15/-0)
  • ...and 10 more file(s)

Likely Impacted Areas

  • Low Documentation (docs): docs/agent.md, docs/github-action.md, docs/mcp.md, packages/cli/src/docs/command-docs/orchestration.ts
  • Low Source code (source): packages/agent/src/bundle.ts, packages/agent/src/preflight/render.ts, packages/agent/src/preflight/report.ts, packages/agent/src/preflight/types.ts, packages/agent/src/renderers/task-bundle/markdown.ts, packages/agent/src/types.ts, packages/cli/src/commands/agent.ts, packages/cli/src/commands/redteam-report.ts, packages/cli/src/parsers/agent.ts, packages/cli/src/requirements/load.ts, packages/cli/src/types/agent.ts, packages/core/src/index.ts, packages/core/src/requirements.ts, packages/mcp/src/handlers/analysis.ts, packages/mcp/src/tools/schemas.ts, packages/mcp/src/tools/types.ts, packages/redteam/src/render.ts, packages/redteam/src/report.ts, packages/redteam/src/types.ts
  • Low Tests (test): packages/agent/test/agent-bundle.test.ts, packages/agent/test/preflight-requirements-uat.test.ts, packages/cli/test/agent.test.ts, packages/cli/test/built-cli-agent-redteam.test.ts, packages/github-action/test/action-yml.test.ts, packages/mcp/test/mcp-preflight-requirements.test.ts

Symbol Impact Evidence

Graph artifact: .codedecay/local/symbol-impact-graph.json (805 file(s), 4477 edge(s))

  • packages/agent/src/bundle.ts#createAgentTaskBundle -> packages/agent/src/index.ts, packages/agent/test/agent-bundle.test.ts, packages/agent/test/agent-rendering.test.ts, packages/cli/src/commands/agent.ts, packages/cli/src/commands/execute/agent-context.ts, packages/cli/src/commands/loop.ts, packages/mcp/src/handlers/analysis.ts, packages/mcp/src/handlers/execution/agent-context.ts
    • Likely tests: packages/agent/test/agent-bundle.test.ts, packages/agent/test/agent-rendering.test.ts
  • packages/agent/src/preflight/render.ts#renderAgentPreflightMarkdown -> packages/agent/src/index.ts
  • packages/agent/src/preflight/report.ts#createAgentPreflightReport -> packages/agent/src/index.ts, packages/agent/test/agent-preflight.test.ts, packages/agent/test/preflight-requirements-uat.test.ts, packages/cli/src/commands/agent.ts, packages/mcp/src/handlers/analysis.ts
    • Likely tests: packages/agent/test/agent-preflight.test.ts, packages/agent/test/preflight-requirements-uat.test.ts
  • packages/agent/src/preflight/types.ts#AgentPreflightReport -> packages/agent/src/index.ts, packages/agent/src/preflight/render.ts, packages/agent/src/preflight/report.ts
  • packages/agent/src/preflight/types.ts#AgentPreflightSummary -> packages/agent/src/index.ts
  • packages/agent/src/preflight/types.ts#CreateAgentPreflightReportOptions -> packages/agent/src/index.ts, packages/agent/src/preflight/report.ts
  • packages/agent/src/renderers/task-bundle/markdown.ts#renderAgentTaskBundleMarkdown -> packages/agent/src/index.ts, packages/agent/src/renderers/task-bundle.ts
  • packages/agent/src/types.ts#AgentTaskBundle -> packages/agent/src/bundle.ts, packages/agent/src/index.ts, packages/agent/src/renderers/task-bundle.ts, packages/agent/src/renderers/task-bundle/markdown.ts, packages/agent/src/renderers/task-bundle/sections.ts
  • packages/cli/src/commands/agent.ts#runAgentCommand -> packages/cli/src/commands/registry.ts
  • packages/cli/src/commands/redteam-report.ts#createRedteamReportForCli -> packages/cli/src/commands/agent.ts, packages/cli/src/commands/benchmark.ts, packages/cli/src/commands/loop.ts, packages/cli/src/commands/redteam.ts
  • packages/cli/src/docs/command-docs/orchestration.ts#ORCHESTRATION_COMMAND_DOCS -> packages/cli/src/docs/commands.ts
  • packages/cli/src/parsers/agent.ts#parseAgentArgs -> packages/cli/src/commands/agent.ts, packages/cli/src/parsers/args.ts
  • ...and 28 more symbol impact(s)

Language And Parser Coverage

  • Source files classified: 26
  • Fully supported parser files: 26
  • Limited files: 0
  • Unsupported files: 0

Merge Risk Breakdown

  • Score: 54/100
  • Raw score before dampeners: 100/100
  • Adjusted score before severity cap: 84/100
  • Highest contributing severity: High
  • Evidence mode: heuristic-only

Top contributors:

  • +18 Test appears to copy implementation logic (heuristic): packages/agent/test/preflight-requirements-uat.test.ts includes logic copied from packages/cli/src/requirements/load.ts; this can make tests pass without protecting real behavior.
  • +18 Test appears to copy implementation logic (heuristic): packages/mcp/test/mcp-preflight-requirements.test.ts includes logic copied from packages/cli/src/requirements/load.ts; this can make tests pass without protecting real behavior.
  • +9 Change size (structural): Changed lines amplify review cost across 30 file(s).
  • +6 File spread (structural): Change breadth spans 30 file(s).
  • +4 Docs area changed (heuristic): docs/agent.md touches a docs area and should be reviewed for regression impact.

Dampeners:

  • -16 Heuristic-only dampener: Merge risk stays conservative until direct evidence exists.

Notes:

  • Heuristic-only merge risk is capped at 54/100 until direct evidence exists.
  • Untrusted memory context is visible but contributes 0 score until trusted evidence corroborates it.

Decay Risk Breakdown

  • Score: 54/100
  • Raw score before dampeners: 100/100
  • Adjusted score before severity cap: 84/100
  • Highest contributing severity: High
  • Evidence mode: heuristic-only

Top contributors:

  • +18 Broad unrelated change set (heuristic): This PR changes 26 files across 1 top-level areas and 2 risk categories.
  • +18 High complexity in changed function (heuristic): parseAgentArgs has estimated cyclomatic complexity 30.
  • +10 Duplicated added logic (heuristic): A similar block of added logic appears 2 times across 2 file(s).
  • +10 Duplicated added logic (heuristic): A similar block of added logic appears 2 times across 2 file(s).
  • +10 Duplicated added logic (heuristic): A similar block of added logic appears 2 times across 2 file(s).

Dampeners:

  • -16 Heuristic-only dampener: Decay stays conservative until direct evidence exists.

Notes:

  • Heuristic-only decay is capped at 54/100 until direct evidence exists.

Security Risk Breakdown

  • Score: 0/100
  • Raw score before dampeners: 0/100
  • Adjusted score before severity cap: 0/100

Security Matcher Coverage

  • Changed source files scanned: 20
  • Security candidates found: 0
  • Skipped files: 0

Test Evidence

  • Mode: heuristic-only
  • Sources: none
  • Changed source coverage:
  • packages/agent/src/bundle.ts: not measured (no measurable changed lines)
  • packages/agent/src/preflight/render.ts: not measured (no measurable changed lines)
  • packages/agent/src/preflight/report.ts: not measured (no measurable changed lines)
  • packages/agent/src/preflight/types.ts: not measured (no measurable changed lines)
  • packages/agent/src/renderers/task-bundle/markdown.ts: not measured (no measurable changed lines)
  • packages/agent/src/types.ts: not measured (no measurable changed lines)
  • packages/cli/src/commands/agent.ts: not measured (no measurable changed lines)
  • packages/cli/src/commands/redteam-report.ts: not measured (no measurable changed lines)
  • Notes:
  • No runtime coverage artifact was found. Test audit remains heuristic-only.

Changed Path Test Proof

Status Count
Runtime-proven 0
Static-only 24
Weakened by mocks 0
Unproven 16
  • Static-only packages/agent/src/bundle.ts#createAgentTaskBundle (static-reference, deterministic)
    • Evidence: Referenced by packages/agent/test/agent-bundle.test.ts, packages/agent/test/agent-rendering.test.ts, packages/cli/test/agent.test.ts, packages/cli/test/built-cli-agent-redteam.test.ts, but no runtime coverage artifact proves changed lines executed.
    • Static references: packages/agent/test/agent-bundle.test.ts, packages/agent/test/agent-rendering.test.ts, packages/cli/test/agent.test.ts, packages/cli/test/built-cli-agent-redteam.test.ts
    • Repair task: Strengthen packages/agent/test/agent-bundle.test.ts so it executes packages/agent/src/bundle.ts#createAgentTaskBundle with assertions; static import alone is not proof.
  • Static-only packages/agent/src/preflight/render.ts#renderAgentPreflightMarkdown (static-reference, deterministic)
    • Evidence: Referenced by packages/github-action/test/action-yml.test.ts, but no runtime coverage artifact proves changed lines executed.
    • Static references: packages/github-action/test/action-yml.test.ts
    • Repair task: Strengthen packages/github-action/test/action-yml.test.ts so it executes packages/agent/src/preflight/render.ts#renderAgentPreflightMarkdown with assertions; static import alone is not proof.
  • Static-only packages/agent/src/preflight/report.ts#createAgentPreflightReport (static-reference, deterministic)
    • Evidence: Referenced by packages/agent/test/agent-bundle.test.ts, packages/agent/test/agent-preflight.test.ts, packages/agent/test/preflight-requirements-uat.test.ts, packages/cli/test/agent.test.ts, packages/cli/test/built-cli-agent-redteam.test.ts, packages/github-action/test/action-yml.test.ts, but no runtime coverage artifact proves changed lines executed.
    • Static references: packages/agent/test/agent-bundle.test.ts, packages/agent/test/agent-preflight.test.ts, packages/agent/test/preflight-requirements-uat.test.ts, packages/cli/test/agent.test.ts, packages/cli/test/built-cli-agent-redteam.test.ts, packages/github-action/test/action-yml.test.ts
    • Repair task: Strengthen packages/agent/test/agent-bundle.test.ts so it executes packages/agent/src/preflight/report.ts#createAgentPreflightReport with assertions; static import alone is not proof.
  • Unproven packages/agent/src/preflight/types.ts#AgentPreflightReport (missing-proof, heuristic)
    • Evidence: No runtime coverage or static test reference was found for this changed path.
    • Repair task: Add an integration test that reaches packages/agent/src/preflight/types.ts#AgentPreflightReport without mocking the changed boundary.
  • Unproven packages/agent/src/preflight/types.ts#AgentPreflightSummary (missing-proof, heuristic)
    • Evidence: No runtime coverage or static test reference was found for this changed path.
    • Repair task: Add an integration test that reaches packages/agent/src/preflight/types.ts#AgentPreflightSummary without mocking the changed boundary.
  • Unproven packages/agent/src/preflight/types.ts#CreateAgentPreflightReportOptions (missing-proof, heuristic)
    • Evidence: No runtime coverage or static test reference was found for this changed path.
    • Repair task: Add an integration test that reaches packages/agent/src/preflight/types.ts#CreateAgentPreflightReportOptions without mocking the changed boundary.
  • Static-only packages/agent/src/renderers/task-bundle/markdown.ts#renderAgentTaskBundleMarkdown (static-reference, deterministic)
    • Evidence: Referenced by packages/agent/test/agent-bundle.test.ts, packages/cli/test/agent.test.ts, packages/github-action/test/action-yml.test.ts, but no runtime coverage artifact proves changed lines executed.
    • Static references: packages/agent/test/agent-bundle.test.ts, packages/cli/test/agent.test.ts, packages/github-action/test/action-yml.test.ts
    • Repair task: Strengthen packages/agent/test/agent-bundle.test.ts so it executes packages/agent/src/renderers/task-bundle/markdown.ts#renderAgentTaskBundleMarkdown with assertions; static import alone is not proof.
  • Unproven packages/agent/src/types.ts#AgentTaskBundle (missing-proof, heuristic)
    • Evidence: No runtime coverage or static test reference was found for this changed path.
    • Repair task: Add an integration test that reaches packages/agent/src/types.ts#AgentTaskBundle without mocking the changed boundary.
  • ...and 32 more changed path proof entries

Untrusted Memory Context

  • Project invariant may be impacted (packages/agent/src/bundle.ts:48): Untrusted memory context: invariant "No hidden cloud or model call" applies to this change. The OSS CLI must remain useful without telemetry, API keys, hosted services, required LLM calls, or CodeDecayCloud.
  • Project invariant may be impacted (packages/agent/src/bundle.ts:48): Untrusted memory context: invariant "Commands are explicit" applies to this change. CodeDecay must not run project commands unless they are configured and safety.allowCommands is true.
  • Project invariant may be impacted (docs/agent.md:25): Untrusted memory context: invariant "Tool evidence is separate from AI suggestions" applies to this change. Reports must not present agent/model suggestions as verified evidence unless backed by deterministic checks or command output.
  • Past regression area changed (packages/redteam/src/render.ts:66): Untrusted memory context: past regression "Redteam output had non-actionable edge cases" may be relevant. Edge-case output previously included bare file paths and repeated generic fix-task titles, which made agent handoff less useful.
  • Project invariant may be impacted (docs/agent.md:25): Untrusted memory context: invariant "Output must be actionable" applies to this change. Redteam reports and agent bundles should say what behavior to verify, which test proof is weak or missing, and what task a coding agent should perform.
  • Architecture note applies (packages/cli/src/commands/agent.ts:13): Untrusted architecture context: CLI is the published surface: The public npm package is @submuxhq/codedecay and the binary is codedecay. Internal workspace packages are implementation details.
  • Architecture note applies (packages/redteam/src/render.ts:66): Untrusted architecture context: Local-first redteam workflow: codedecay redteam is deterministic and report-only by default. Command execution and LLM/provider use require explicit user configuration.
  • Architecture note applies (packages/agent/src/bundle.ts:48): Untrusted architecture context: Agent-owned workflow: CodeDecay should produce evidence and task bundles that a user's own Codex, Claude Code, Cursor, OpenCode, Pi, desktop app, or MCP client can use.

High Risk Findings

  • Broad unrelated change set: This PR changes 26 files across 1 top-level areas and 2 risk categories.
  • Test appears to copy implementation logic (packages/agent/test/preflight-requirements-uat.test.ts:11): packages/agent/test/preflight-requirements-uat.test.ts includes logic copied from packages/cli/src/requirements/load.ts; this can make tests pass without protecting real behavior.
  • Test appears to copy implementation logic (packages/mcp/test/mcp-preflight-requirements.test.ts:19): packages/mcp/test/mcp-preflight-requirements.test.ts includes logic copied from packages/cli/src/requirements/load.ts; this can make tests pass without protecting real behavior.
  • High complexity in changed function (packages/cli/src/parsers/agent.ts:18): parseAgentArgs has estimated cyclomatic complexity 30.

Medium Risk Findings

  • Duplicated added logic (packages/agent/src/preflight/render.ts:56): A similar block of added logic appears 2 times across 2 file(s).
  • Duplicated added logic (packages/cli/src/requirements/load.ts:22): A similar block of added logic appears 2 times across 2 file(s).
  • Duplicated added logic (packages/cli/src/requirements/load.ts:23): A similar block of added logic appears 2 times across 2 file(s).
  • Duplicated added logic (packages/cli/src/requirements/load.ts:24): A similar block of added logic appears 2 times across 2 file(s).
  • Duplicated added logic (packages/cli/src/requirements/load.ts:25): A similar block of added logic appears 2 times across 2 file(s).
  • Large changed function (packages/agent/src/preflight/render.ts:17): renderAgentPreflightMarkdown spans 138 lines, which increases review and regression risk.
  • Large changed function (packages/cli/src/parsers/agent.ts:18): parseAgentArgs spans 154 lines, which increases review and regression risk.

Low Risk Findings

  • Docs area changed (docs/agent.md:25): docs/agent.md touches a docs area and should be reviewed for regression impact.
  • Docs area changed (docs/github-action.md:274): docs/github-action.md touches a docs area and should be reviewed for regression impact.
  • Docs area changed (docs/mcp.md:98): docs/mcp.md touches a docs area and should be reviewed for regression impact.
  • Docs area changed (packages/cli/src/docs/command-docs/orchestration.ts:104): packages/cli/src/docs/command-docs/orchestration.ts touches a docs area and should be reviewed for regression impact.
  • Source area changed (packages/agent/src/bundle.ts:48): packages/agent/src/bundle.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/agent/src/preflight/render.ts:34): packages/agent/src/preflight/render.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/agent/src/preflight/report.ts:1): packages/agent/src/preflight/report.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/agent/src/preflight/types.ts:1): packages/agent/src/preflight/types.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/agent/src/renderers/task-bundle/markdown.ts:47): packages/agent/src/renderers/task-bundle/markdown.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/agent/src/types.ts:5): packages/agent/src/types.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/cli/src/commands/agent.ts:13): packages/cli/src/commands/agent.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/cli/src/commands/redteam-report.ts:2): packages/cli/src/commands/redteam-report.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/cli/src/parsers/agent.ts:152): packages/cli/src/parsers/agent.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/cli/src/requirements/load.ts:1): packages/cli/src/requirements/load.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/cli/src/types/agent.ts:13): packages/cli/src/types/agent.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/core/src/index.ts:18): packages/core/src/index.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/core/src/requirements.ts:1): packages/core/src/requirements.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/mcp/src/handlers/analysis.ts:140): packages/mcp/src/handlers/analysis.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/mcp/src/tools/schemas.ts:22): packages/mcp/src/tools/schemas.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/mcp/src/tools/types.ts:2): packages/mcp/src/tools/types.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/redteam/src/render.ts:66): packages/redteam/src/render.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/redteam/src/report.ts:69): packages/redteam/src/report.ts touches a source area and should be reviewed for regression impact.
  • Source area changed (packages/redteam/src/types.ts:2): packages/redteam/src/types.ts touches a source area and should be reviewed for regression impact.
  • Test area changed (packages/agent/test/agent-bundle.test.ts:6): packages/agent/test/agent-bundle.test.ts touches a test area and should be reviewed for regression impact.
  • Test area changed (packages/agent/test/preflight-requirements-uat.test.ts:1): packages/agent/test/preflight-requirements-uat.test.ts touches a test area and should be reviewed for regression impact.
  • Test area changed (packages/cli/test/agent.test.ts:162): packages/cli/test/agent.test.ts touches a test area and should be reviewed for regression impact.
  • Test area changed (packages/cli/test/built-cli-agent-redteam.test.ts:24): packages/cli/test/built-cli-agent-redteam.test.ts touches a test area and should be reviewed for regression impact.
  • Test area changed (packages/github-action/test/action-yml.test.ts:26): packages/github-action/test/action-yml.test.ts touches a test area and should be reviewed for regression impact.
  • Test area changed (packages/mcp/test/mcp-preflight-requirements.test.ts:1): packages/mcp/test/mcp-preflight-requirements.test.ts touches a test area and should be reviewed for regression impact.

Recommended Checks

  • Add an integration test that reaches packages/agent/src/preflight/types.ts#AgentPreflightReport without mocking the changed boundary.
  • Add an integration test that reaches packages/agent/src/preflight/types.ts#AgentPreflightSummary without mocking the changed boundary.
  • Add an integration test that reaches packages/agent/src/preflight/types.ts#CreateAgentPreflightReportOptions without mocking the changed boundary.
  • Add an integration test that reaches packages/agent/src/types.ts#AgentTaskBundle without mocking the changed boundary.
  • Add an integration test that reaches packages/cli/src/commands/redteam-report.ts#createRedteamReportForCli without mocking the changed boundary.
  • Add an integration test that reaches packages/cli/src/docs/command-docs/orchestration.ts#ORCHESTRATION_COMMAND_DOCS without mocking the changed boundary.
  • Add an integration test that reaches packages/cli/src/requirements/load.ts#loadRequirementArtifact without mocking the changed boundary.
  • Add an integration test that reaches packages/core/src/index.ts#AcceptanceCriterionInput without mocking the changed boundary.
  • Add an integration test that reaches packages/core/src/index.ts#normalizeRequirementContext without mocking the changed boundary.
  • Add an integration test that reaches packages/core/src/index.ts#RequirementContext without mocking the changed boundary.
  • Add an integration test that reaches packages/core/src/index.ts#RequirementContextInput without mocking the changed boundary.
  • Add an integration test that reaches packages/core/src/index.ts#RequirementFlowKind without mocking the changed boundary.

Notes

CodeDecay is deterministic and local-first. This report was generated without telemetry, API keys, LLMs, or model calls.


Found by CodeDecay - deterministic, local-first, no telemetry.

@kunaldhongade
kunaldhongade merged commit 4e0a8ea into main Jul 23, 2026
7 checks passed
@kunaldhongade
kunaldhongade deleted the feature/663-structured-requirements branch July 23, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: agent Agent task bundle and user-owned agent workflow area: cli CLI package or command behavior area: core Core types, scoring, or rule runner area: docs README, community files, or documentation area: github-action Composite GitHub Action wrapper area: mcp Model Context Protocol integration area: redteam Redteam orchestration and PR safety harness documentation Improvements or additions to documentation type: test Test coverage, fixtures, or verification improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(requirements): ingest structured task and acceptance-criteria context

1 participant