Skip to content

engine: enforce raise(queue) ⊆ department M.spec.produces (capability grant, fail-closed) + non-forgeable raised transport#131

Merged
loning merged 2 commits into
integrationfrom
devloop/issue/ChronoAIProject/fkst-substrate/130/ready-github-devloop-issue-ChronoAIProject-fkst-substrate-130-intake-0330532586-3792507379
Jun 18, 2026
Merged

engine: enforce raise(queue) ⊆ department M.spec.produces (capability grant, fail-closed) + non-forgeable raised transport#131
loning merged 2 commits into
integrationfrom
devloop/issue/ChronoAIProject/fkst-substrate/130/ready-github-devloop-issue-ChronoAIProject-fkst-substrate-130-intake-0330532586-3792507379

Conversation

@loning

@loning loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

github-devloop implementation PR for issue #130

….produces (capability grant, fail-closed) + non-forgeable raised transport
@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop implementation PR for issue #130

@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop PR is ready for review

@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop PR is ready for review

@loning loning added the fkst-dev:reviewing pr-review-consensus-in-progress label Jun 18, 2026
@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop PR review decision: reject
Three-angle verdicts: minimal=comment structural=reject delete=approve
Blocking gap: Production raise authority is not constructed from the same namespace-resolved M.spec.produces contract as test.

minimal:
Established practice for this problem class is least-privilege/object-capability enforcement with complete mediation at the trusted boundary while preserving unrelated behavior; from the minimal angle the capability check and RAISED-AUTH direction are in scope, but deleting StreamingRaiseState and changing durable raised publication from line-observed streaming to post-exit publish_raised is unproven extra scope, especially against the recorded recurrence around streaming raised delivery. This would become approvable with either evidence that streaming semantics are intentionally deprecated and covered by acceptance bounds, or a narrower implementation that authenticates the existing streamed frame path without changing when raised events publish.

structural:
Established practice for this class is object-capability security with complete mediation and a single normalized authority source at the trust boundary; this diff deviates by building production RaiseAuthority from dept.produces verbatim in department_raise_authority while test uses declared_resolved_produces, so the capability grant is not proven to be the same post-namespace source-of-truth required by raise(queue) ⊆ M.spec.produces.

delete:
Established practice for this class is object-capability security with complete mediation and fail-closed authority checks at the trusted boundary; from the delete angle, this implementation is acceptable because it narrows rather than expands authority by reusing existing M.spec.produces as the deterministic grant for raise(), makes supervised raised delivery require RAISED-AUTH: instead of forgeable plain RAISED:, and removes the prior streaming stdout publication surface rather than adding an independent producer mechanism.

⟦AI:FKST⟧

@loning loning added fkst-dev:fixing review-rejected-and-fix-in-progress and removed fkst-dev:reviewing pr-review-consensus-in-progress labels Jun 18, 2026
@loning loning mentioned this pull request Jun 18, 2026
…ces (capability grant, fail-closed) + non-forgeable raised transport
@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop fix pushed for re-review

Previous reviewed head: 0f71f3b
New head: b1d8ac1

@loning loning added fkst-dev:reviewing pr-review-consensus-in-progress and removed fkst-dev:fixing review-rejected-and-fix-in-progress labels Jun 18, 2026
@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop PR review decision: approve
Three-angle verdicts: minimal=approve structural=approve delete=approve

minimal:
Established practice for this problem class is object-capability/least-privilege enforcement with complete mediation and fail-closed authority at the trusted boundary; under the minimal angle, the named gap is closed because production now constructs RaiseAuthority from department_declared_resolved_produces, which delegates to the same spec_queues::declared_resolved_produces path used by test, so raise(queue) is checked against the namespace-resolved M.spec.produces contract rather than raw dept.produces.

structural:
Established practice for this class is object-capability security with complete mediation at a trusted boundary and a single normalized authority source; the named structural gap is closed because production now constructs RaiseAuthority through department_declared_resolved_produces, which delegates to the shared spec_queues::declared_resolved_produces, while fkst.test.run_department now uses the same resolved-produces path via TestRunCache::declared_resolved_produces. That preserves the intended source-of-truth contract for raise(queue) ⊆ M.spec.produces; the authenticated RAISED-AUTH: transport also keeps raised delivery behind the engine boundary instead of reintroducing stdout as an independent authority path.

delete:
Established practice for this class is object-capability security with complete mediation and fail-closed authority checks at the trusted boundary; from the delete angle, the fix remains justified because it collapses authority onto the existing deterministic "M.spec.produces" contract rather than adding a parallel grant surface, and the prior named gap is closed by constructing production and test authority from the same namespace-resolved produces path while replacing forgeable "RAISED:" supervision delivery with authenticated "RAISED-AUTH:".

⟦AI:FKST⟧

@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop is merging PR #131

@loning loning added fkst-dev:merge-ready review-approved-and-ready-to-merge and removed fkst-dev:reviewing pr-review-consensus-in-progress labels Jun 18, 2026
@loning loning merged commit 18d1906 into integration Jun 18, 2026
1 check passed
@loning

loning commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

github-devloop merged PR #131

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

Labels

fkst-dev:merge-ready review-approved-and-ready-to-merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant