Skip to content

feat: add DecisionPort semantic judgement capability - #2

Merged
colmugx merged 1 commit into
mainfrom
feat/decision-port
Sep 18, 2026
Merged

colmugx merged 1 commit into
mainfrom
feat/decision-port

Conversation

@colmugx

@colmugx colmugx commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a provider-neutral DecisionPort::evaluate(DecisionRequest) seam for structured semantic judgement without routing through ModelPort
  • model typed Boolean / Choice / Score questions and probabilistic answers, with request/result invariant validation
  • compose DecisionPort as an optional singleton capability (Capability::Decision, CompositionView::decision()), with MultipleDecisions fail-fast cardinality
  • add ScriptedDecisionPort testkit support and focused conformance/composition tests
  • keep DecisionPort out of Kernel/Puppet execution: it supplies judgement only; consuming extensions retain policy and authority

Compatibility

ExtensionManifest gains a decisions field. Direct record literals must add decisions: []; callers using ExtensionManifest::empty(...) remain source-compatible.

Validation

Verified from an exact main@e4fa4b07fe2b581dbee952d831009c322a906909 source snapshot using the official MoonBit toolchain (moon 0.1.20260915, moonc v0.10.13+cbb11c36f).

  • baseline native suite: 500/500
  • focused DecisionPort tests: 5/5
  • full native suite after change: 505/505
  • clean rebuild after moon clean: 505/505
  • moon fmt --check: pass
  • moon check --target native --output-json: 0 errors
  • moon info: pass, generated .mbti checked in and clean

The formal branch is a single commit directly on main; temporary environment/bootstrap files are not part of the PR.

@colmugx
colmugx merged commit 1b51dc4 into main Sep 18, 2026
9 of 10 checks passed
@colmugx
colmugx deleted the feat/decision-port branch September 18, 2026 10:24
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.

1 participant