Skip to content

test(workflows): derive next hints from ontology - #1873

Merged
bradygaster merged 2 commits into
devfrom
bradygaster-1780-ontology-drift-guard
Aug 25, 2026
Merged

test(workflows): derive next hints from ontology#1873
bradygaster merged 2 commits into
devfrom
bradygaster-1780-ontology-drift-guard

Conversation

@bradygaster

Copy link
Copy Markdown
Owner

Summary

  • derive the complete planning next= hint sequence from ontology triggered_by transitions
  • fail closed on malformed, empty, duplicate, disconnected, missing-state, partial, ambiguous, or zero-comparison paths
  • mutation-test transition reordering that preserves the original three inequalities, including the matching-workflow converse that rules out hardcoded fallback expectations

Validation

  • focused Repair the long program path so it runs end to end #1758.3 harness: 10 cases passed under Node native TypeScript stripping
  • git diff --check: passed
  • independent code review: no significant findings
  • npm Vitest/ESLint unavailable because the required package-feed proxy does not contain lockfile-pinned vitest@4.1.11; manifests and lockfile were left unchanged
  • gh aw compile workflows\\squad.md --strict cannot resolve sibling dispatch workflows from this source-layout repository (expects .github/workflows)

Working as Procedures (Prompt Engineer).

Closes #1780

Closes #1780

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings August 25, 2026 05:18
@github-actions

Copy link
Copy Markdown
Contributor

🟢 Impact Analysis — PR #1873

Risk tier: 🟢 LOW

📊 Summary

Metric Count
Files changed 1
Files added 0
Files modified 1
Files deleted 0
Modules touched 1

🎯 Risk Factors

  • 1 files changed (≤5 → LOW)
  • 1 module(s) touched (≤1 → LOW)

📦 Modules Affected

tests (1 file)
  • test/gh-aw-plan-lifecycle.test.ts

This report is generated automatically for every PR. See #733 for details.

@github-actions

github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

🛫 PR Readiness Check

ℹ️ This comment updates on each push. Last checked: commit 6b4adb4

PR Scope: 🔧 Infrastructure

⚠️ 4 item(s) to address before review

Status Check Details
Single commit 2 commits — consider squashing before review
Not in draft Ready for review
Branch up to date dev is 2 commit(s) ahead — rebase recommended
Copilot review No Copilot review yet — it may still be processing
Changeset present No source files changed — changeset not required
Scope clean No .squad/ or docs/proposals/ files
No merge conflicts No merge conflicts
Copilot threads resolved 0 active Copilot thread(s) resolved (1 outdated skipped)
CI passing 1 check(s) failing: test

Files Changed (1 file, +271 −19)

File +/−
test/gh-aw-plan-lifecycle.test.ts +271 −19

Total: +271 −19


This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The change is test-only and correctly strengthens drift detection; the only feedback is a small parser-brittleness improvement (optional) around fenced code blocks.

Pull request overview

Updates the planning lifecycle anti-drift tests to derive /squad plan … next= hint expectations directly from the authoritative planning ontology transition ordering, closing the gap where ontology drift could preserve a few pinned inequalities while silently desyncing workflows/squad.md.

Changes:

  • Parse the ontology “State Transition Table” into a validated, linear transition sequence and derive the planning command order from triggered_by transitions.
  • Derive expected next= hints from the ontology order and compare them to the hints parsed from each workflow skill’s “Update Lifecycle” step.
  • Add mutation-style tests to ensure reordered ontology transitions (while preserving the original inequalities) fail unless the workflow hints are updated accordingly.
File summaries
File Description
test/gh-aw-plan-lifecycle.test.ts Reworks #1758.3 to compute expected planning next-hints from ontology transitions and adds fail-closed validation + mutation tests.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread test/gh-aw-plan-lifecycle.test.ts Outdated
Closes #1780

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 94cbb3a1-5c30-46a4-8bab-e075e1c1ff1c
@bradygaster
bradygaster merged commit 644e3f8 into dev Aug 25, 2026
15 of 16 checks passed
bradygaster added a commit that referenced this pull request Aug 25, 2026
…ows (#1886)

- Pin gh-aw to v0.86.2 in the \	est\ job so compiler version is
  deterministic across runs (was unpinned with \gh extension install\).
- Add \gh-aw-compile\ job that strict-compiles squad, squad-implement-worker,
  squad-review, and squad-deps-worker on every PR and push. Failures
  accumulate before exit so all four results are visible in one run. A
  compiler that exits 0 without emitting a lock file also fails the gate
  (silent-success is a gate gap). Same v0.86.2 pin used in both jobs.

Required-check setup (external, cannot be enforced from repo code):
  Enable ruleset 12703724, add refs/heads/dev and refs/heads/main,
  require \Squad CI / gh-aw strict compile\ and \Squad CI / test\.

Addresses: gh-aw version non-determinism and the missing dedicated compile
gate that allowed #1873 and #1874 to merge with failing checks.

Co-authored-by: brady gaster <bradygaster@github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@bradygaster
bradygaster deleted the bradygaster-1780-ontology-drift-guard branch September 9, 2026 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ontology drift can silently desync squad.md next-hints if the three pinned inequalities are preserved

2 participants