Skip to content

feat: add domain package - #10

Merged
Mearman merged 1 commit into
mainfrom
feat/graph-domain
Oct 10, 2026
Merged

Mearman merged 1 commit into
mainfrom
feat/graph-domain

Conversation

@Mearman

@Mearman Mearman commented Oct 10, 2026

Copy link
Copy Markdown
Member

Adds @exadev/process-graph-domain: pure functions over a Model and a run Overlay, built on graph-dag. Stacked on the schema PR, so the base is feat/graph-schema.

The control graph drops the transitions a decision uses to loop back (a decision's outgoing transition whose target can reach its source), so a retry loop is acyclic and readiness is computed on the rest. Cycles left over contain no decision and come back from illegalCycles with their paths; status derivation throws CycleError on them.

Status is done, ready, blocked, skipped or unknown. A transition's trilean condition is evaluated against an injected facts port: definite true takes the branch, definite false cuts it (and what only it reaches becomes skipped), and an indeterminate result makes the branch and everything downstream unknown. Decision and pseudo elements have no work to do, so they derive as done once their needs are met; otherwise nothing after the initial pseudo-state could ever start. Queries are readySet, blockedBy, impact, whatIfDone, criticalPath and unmetOutputs.

Two deviations from the plan's signatures, both in the README. impact takes the overlay and facts because liveness depends on them. Provided input artefacts are answered by the facts port through a reserved key rather than a fifth parameter, which the repo's max-params rule would reject.

Tests assert exact status and ready sets for a diamond, a retry loop against a plain cycle, a decision with true, false and missing facts, a join with and without a skipped branch, unknown propagation, and a deliverable behind an unprovided input. I broke the condition mapping, the loop-edge exclusion and the skipped-source rule in turn and each turned the suite red.

@Mearman
Mearman marked this pull request as ready for review October 10, 2026 09:31
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-10-10T10:00:01.013840Z 3d417bb Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Pure reasoning over the process model and a run overlay, built on graph-dag. The control graph
excludes the transitions a decision uses to loop back, so a retry loop stays acyclic and any
remaining cycle is reported as data. Status is three-valued: a condition that cannot be decided
leaves both branches and everything downstream unknown, while a branch definitely not taken
skips what only it reaches. Decision and pseudo elements carry no work and derive as done once
their needs are met. Conditions are trilean predicates evaluated against an injected facts port.

Queries over the derived state: ready set, blocked-by, impact, what-if, critical path and unmet
deliverables.
@Mearman
Mearman changed the base branch from feat/graph-schema to main October 10, 2026 09:50
@Mearman

Mearman commented Oct 10, 2026

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 3d417bb1db

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@Mearman
Mearman merged commit d531846 into main Oct 10, 2026
14 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.3.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant