Skip to content

refactor: Allow op and model initialisation to fail, and promises - #246

Open
tperami wants to merge 1 commit into
remove-cert-non-exec-promfrom
opmodel-initialisation-failures
Open

refactor: Allow op and model initialisation to fail, and promises#246
tperami wants to merge 1 commit into
remove-cert-non-exec-promfrom
opmodel-initialisation-failures

Conversation

@tperami

@tperami tperami commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

OpModel allows initialisation to fail
GenPromise allows initialisation and promise emission to fail

This PR is part of a stack containing 3 PRs:

  1. main
  2. refactor(GenProm): Allow promise hook to change all threads #234
  3. Remove the non-computable certified promising #254
  4. "refactor: Allow op and model initialisation to fail, and promises" (this PR)

Comment thread ArchSem/GenPromising.v Outdated
((∃ tid, Error s ∈ PState.run_tid isem prom tid finPs)
(∃ tid ev,
PState.allowed_promises_tid isem prom certified finPs

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think we should consider the case where emit_promise returns Error "invalid promise". In certified mode, this branch still requires allowed_promises_tid, which requires the same promise call to return Ok. Therefore, it cannot return an Error here, and promise-emission failures can never be reported by the certified model. Could we handle the Error case before checking certification?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is a very good catch and quite a deep edge-case. Great work! I don't think we have a good way of handling this right now, this fundamentally ties in the fact that Promising is not good enough to properly handle error in presence of load-buffering. Happy to talk about it tomorrow.

@tperami
tperami force-pushed the opmodel-initialisation-failures branch from 3606975 to fccc2c3 Compare September 11, 2026 12:50
@tperami
tperami removed this pull request from stack #247 September 11, 2026 12:51
@tperami
tperami changed the base branch from genprom-emit-all-threads to remove-cert-non-exec-prom September 11, 2026 12:51
@tperami
tperami added this pull request to stack #255 September 11, 2026 12:51
OpModel allows initialisation to fail
GenPromise allows initialisation and promise emission to fail
@tperami
tperami force-pushed the opmodel-initialisation-failures branch from fccc2c3 to a29afe6 Compare September 11, 2026 13:13
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.

2 participants