Skip to content

OSAC-3459: Pilot iteration 2 - Regenerated provisioning progress test plan - #66

Draft
ItzikEzra-rh wants to merge 1 commit into
mainfrom
design/OSAC-3459-testplan-pilot-v2
Draft

ItzikEzra-rh wants to merge 1 commit into
mainfrom
design/OSAC-3459-testplan-pilot-v2

Conversation

@ItzikEzra-rh

Copy link
Copy Markdown
Owner

This draft preserves the uncorrected iteration-two test plan from the OSAC-4835 workflow evaluation, tracked in https://redhat.atlassian.net/browse/OSAC-5320. It replaces only the standalone testplan.md; the approved design is unchanged. It is not ready for implementation.

The controlled input change was OSAC-local planning-evidence guidance. The plan now has execution sections with component ownership, tiers, commands, and dependency descriptions. Generation produced 12 cases; local decomposition produced 2 epics and 10 stories.

Remaining findings:

  • Ambiguous fake-endpoint versus deployed-service boundaries, vague suite locations/commands, and persistence incorrectly described as envtest-backed.
  • Missing or weakened assertions for exhaustive exported condition classification and archive-to-404 behavior; decomposition restored these without updating the plan.
  • Decomposed UI tasks misclassify lint/typecheck as integration tests.
  • The decomposition review's claimed PRD logs/timeline DoD contradiction is unsupported by the published PRD, which has no DoD section and excludes logs/timelines.

These findings are preserved for comparison with cycle three, not repaired in this baseline. Requirement/interface ID mapping is not proof of execution readiness. Decomposition artifacts remain local and are summarized here; this PR contains only the generated test plan.

Inputs: OSAC 554e5a07ada757ac85c22287e94533d19995555e; ai-workflows f1d6a4b645ac7ea6c8dfce49c36f7bf826b75a05; osac-ai-skills eebea9556abf05abc6390313537aa02b34cd79fa; approved docs b912d50. Workflow/reviewer content was pinned for this run; automatic update hooks were disabled in the isolated harness. Iteration-one UI/workflow revisions were not independently captured at generation time, limiting strict causal comparison.

Validation: publication pre-commit checks and whitespace checks; no implementation or integration tests were executed by this documentation-only pilot.

All publication is confined to ItzikEzra-rh/enhancement-proposals. No generated tasks were synced to Jira.

Assisted-by: OpenAI Codex <support@openai.com>
Signed-off-by: Itzik Ezra <iezra@redhat.com>
@github-actions

Copy link
Copy Markdown

Test Plan Review: TP-66

Score: 7/10 | Verdict: Revise

Dimension Score Notes
Specificity 1/2 TC-FR5-01 is excellent with an exact phase/reason/message table (verbatim strings). However, most other TCs defer to 'the approved design' rather than inlining concrete input values and expected field values. Steps like 'Set the fixture to each approved non-terminal stage' and expected results like 'the projected condition identifies the approved current stage' name scenarios but lack specific condition combinations (e.g., Allocated=True, ProvisionTemplateComplete=False → reason=Provisioning). T
Grounding 1/2 Names frameworks (Go tests, envtest, Vitest, RTL), commands (make test, pnpm test), component directories (bare-metal-fulfillment-operator/, osac-ui/), and the BareMetalDetails UI component. Mentions tests/e2e/bmaas/ and existing BMaaS fixtures. However, every test location is 'proposed' — no existing test file paths, fixture variable names, helper function signatures, or references to analogous existing test patterns are provided. The plan describes where tests should go, not where similar test
Scope fidelity 2/2 All 8 requirements (FR-1 through FR-5, NFR-1 through NFR-3) have at least one TC. All 6 interface changes (IC-1 through IC-6) are mapped. The Gaps section is unusually thorough: it documents the missing NFR-1 numeric freshness threshold, the absent canonical NFR-2 wording, the undefined FR-4 retention boundary, and the need for proposed harnesses for IC-3 and IC-6 — all with clear justification. No extra scope beyond the design. Traceability note is transparent that FR/NFR IDs are derived since
Actionability 1/2 Every TC has a metadata table, preconditions, execution context (owner/tier, location/command, dependencies), numbered steps, and expected results — strong structural discipline. TC-FR5-01 and TC-FR5-02 are directly implementable with exact assertion values. But most other TCs require the engineer to cross-reference the design for concrete fixture values, and TC-NFR1-01 explicitly states the numeric bound must be confirmed before execution. The 'proposed' test locations mean no existing patterns
Consistency 2/2 12 TCs match the claimed total. Priority counts (5 critical, 4 high, 2 medium, 1 low) match the summary exactly. All TCs are grouped under their correct FR/NFR heading. IDs follow TC-{req}-{NN} sequentially. Requirements covered 8/8 and interface changes 6/6 are both accurate. The 4 proposed-harness cases are correctly counted. Automation column is consistently 'Automated' across all 12. No contradictions between sections.

Verdict: A well-structured and scope-faithful test plan that needs concrete input/output values inlined into most TCs and grounding in existing test files to be implementation-ready.

Feedback: Inline specific condition fixture values and expected field values into each TC's steps and expected results — e.g., TC-FR1-01 should list each condition combination (Allocated=True/False, ProvisionTemplateComplete=True/False, etc.) and the expected PROVISIONED.reason and message for each, rather than deferring to 'the approved design.' Ground the plan in the actual test codebase by referencing existing test files, fixtures, and helper functions that new tests should follow or extend — even a 'follow the pattern in test_X.go' with a real file path would move grounding from 1 to 2. For TC-NFR1-01, work with the implementation owner to fix the numeric freshness threshold so the test is scorable, or document a concrete fallback bound the test will use.

Critical (0)

None.

Important (3)

  1. Most TCs defer inputs/outputs to 'the approved design' rather than inlining concrete condition values and expected reason/message strings — an implementer must reconstruct the fixture data from the design document
  2. All 12 test locations are 'proposed' with no references to existing test files, fixture objects, or helper functions in the codebase — the plan is not grounded in the test infrastructure
  3. TC-NFR1-01 has no numeric freshness threshold and explicitly cannot be scored or implemented until the bound is confirmed — this is an unresolved dependency

Suggestions (3)

  1. Add a fixture data table to TC-FR1-01 and TC-FR2-01 listing each condition combination and the expected derived stage, mirroring the specificity level of TC-FR5-01's failure message table
  2. Reference at least one existing analogous test pattern per component (e.g., an existing envtest in bare-metal-fulfillment-operator, an existing RTL test in osac-ui) so implementers have a concrete starting point
  3. Consider adding a TC for the 'no-work networking' happy path at the UI level — TC-FR2-02 covers the operator/fulfillment side but the UI rendering of a skipped Network Setup step is not explicitly tested

Review cost

Model: claude-opus-4-6
Cost: $0.5026
Tokens: 1.2k in / 4.8k out
Cache: 75.0k read
Active time: 1m 40s
API calls: 0

@github-actions github-actions Bot added the test-plan-scored Test plan has been scored by the AI reviewer label Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test-plan-scored Test plan has been scored by the AI reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant