refactor: migrate oracle terminology to script (api, engine, docs)#165
Merged
Conversation
Completes the script/machine-only surface: removes the legacy "oracle"
naming across the HTTP API, the fiber engine, the scripting-language
token, the e2e harness, and the docs. "Script" was already the public
term; this drops the last "oracle" spellings.
HTTP API (breaking):
- Remove GET /v1/oracles{,/{id},/{id}/invocations}; serve the same under
/v1/scripts (estimate-fee + state-proof were already there).
Serialized / public types:
- FiberLogEntry.OracleInvocation -> ScriptInvocation
- GasExhaustionPhase.Oracle -> Script
- FailureReason.OracleInvocationFailed -> ScriptInvocationFailed
- ScriptRules.OracleNotFound/OracleAccessDenied -> ScriptNotFound/ScriptAccessDenied
- Records.lastInvocation, TransactionResult.updatedScripts, internal
identifiers and comments across models + shared-data + l0.
Scripting-language token (breaking):
- The cross-fiber call token _oracleCall -> _scriptCall
(ReservedKeys.SCRIPT_CALL). The live tictactoe example, the inline
test scripts, and the language docs move in lockstep so the chain and
authored scripts agree.
e2e harness:
- All direct /oracles HTTP paths -> /scripts; terminal CLI command/flags
(oracle->script, --oracle->--script, --oracleId->--scriptId); example
manifests type:"oracle" -> "script"; oracleFiberId -> scriptFiberId.
Deliberately preserved (real-world domain, not our terminology):
- Prediction-market oracle agents (oracleId/oracleReputation/submissions)
and the market app's "oracles" data field + std-manifest conformance.
Pairs with the ottochain-sdk sister PR (client paths + ScriptInvocation
type). The whitepaper PDF must be regenerated from the updated .tex.
All 358 shared-data tests pass; scalafmt/scalafix clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
65951b0 to
87a107a
Compare
scasplte2
approved these changes
Jun 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes the last "oracle" spellings, completing the script/machine-only surface. "Script" was already the public term; this drops the legacy naming across the HTTP API, the fiber engine, the scripting-language token, the e2e harness, and the docs.
HTTP API (breaking)
GET /v1/oracles{,/{id},/{id}/invocations}; serve the same under/v1/scripts(estimate-fee+state-proofwere already there).Serialized / public types
FiberLogEntry.OracleInvocation→ScriptInvocationGasExhaustionPhase.Oracle→ScriptFailureReason.OracleInvocationFailed→ScriptInvocationFailedScriptRules.OracleNotFound/OracleAccessDenied→ScriptNotFound/ScriptAccessDeniedRecords.lastInvocation,TransactionResult.updatedScripts, plus internal identifiers/comments across models + shared-data + l0.Scripting-language token (breaking)
_oracleCall→_scriptCall(ReservedKeys.SCRIPT_CALL). The live tictactoe example, the inline test scripts, and the language docs move in lockstep so the chain and authored scripts agree.e2e harness
/oraclesHTTP paths →/scripts; terminal CLI command/flags (oracle→script,--oracle→--script,--oracleId→--scriptId); example manifeststype:"oracle"→"script";oracleFiberId→scriptFiberId.Deliberately preserved (real-world domain, not our terminology)
oracleId/oracleReputation/oracleSubmissions) and the market app's"oracles"data field +std-manifestconformance fixture.Validation
scalafmtCheckAll+scalafixAll --checkclean;currencyL0/compileclean..tex.🤖 Generated with Claude Code