Softanza
StartFrançais
Softanza
The library documents itself · System programming

stzPlatform

50 own methods · 3 forms written with extensions, listed under their method

the source: base/platform/stzPlatform.ring(opens in a new tab) · All classes · The area reference: System programming

Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean

No method of this class is run on this page: the class reaches files, the network, processes, the clock, chance or sound, and an example run here would only be an example of its effects. Each method carries the explanation the library gives of itself.

Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
Log
the structured log of the platform's Build() + Deploy() phases -- queryable and renderable: oPlat.Log().EntriesOfLevel(:error), oPlat.Log().AsJson().no extension
Name_
(no comment in the source: the name reads as a sentence) name_no extension
Why
(no comment in the source: the name reads as a sentence) whyno extension
SetProfile
A stzPlatformProfile DESCRIBES the solution -- its constituents (a server, a superapp, an app, ...) and their target systems. The platform OWNS one and drives its lifecycle: Build() the platform and its constituents, THEN Deploy() them -- two separate, ordered operations. (SetProfile snapshots the profile, so configure it fully first -- the aliasing doctrine.)no extension
Profile
(no comment in the source: the name reads as a sentence) profileno extension
HasProfile
(no comment in the source: the name reads as a sentence) has profileno extension
Build
BUILD the platform and its constituents. Refuses an unsound solution (LAW 3). Must precede Deploy().QCSXTZZZIBWU
IsBuilt
(no comment in the source: the name reads as a sentence) is builtno extension
Deploy
DEPLOY the built parts to their target systems. Refuses if the platform was not built first -- Build() and Deploy() are separate. For each part, the deploy-time LOWERING bridge turns its rehearsed (up-enable) feature ops into a real target ARTIFACT (firmware source for an MCU, a manifest otherwise) -- the flash/upload of that artifact to the device is the one remaining external step.QCSXTZZZIBWU
DeployAs
Governed deploy: deployment is an EFFECTFUL crossing, so an actor that cannot effect reality (an LLM) may PROPOSE it but not perform it (Phase 4).no extension
IsDeployed
(no comment in the source: the name reads as a sentence) is deployedno extension
BuildReport
(no comment in the source: the name reads as a sentence) build reportno extension
LanguageOf
the language a part was compiled in (from the build report).no extension
BuildCommandFor
the stzBuilder command that compiles a part (from the build report).no extension
DeployReport
(no comment in the source: the name reads as a sentence) deploy reportno extension
ArtifactFor
The lowered artifact (firmware / manifest) for a part, after Deploy().no extension
Parts
delegating reads into the owned profileno extension
NumberOfParts
(no comment in the source: the name reads as a sentence) number of partsno extension
App
(no comment in the source: the name reads as a sentence) appno extension
DevelopmentSystem
(no comment in the source: the name reads as a sentence) development systemno extension
SetWorld
== 1. GENERATION ======================================================== SET the world this platform envelopes -- by HARVESTING its declarations into the platform's own records, right now. It does NOT hold the world: Haro copies an object into an attribute, so a held stzApp would be a dead snapshot the moment the caller touched it (see the aliasing note in the header). Call this AFTER the world is declared. The world is ASKED through its own accessors -- a platform never reaches into another object's attributes. (A constellation ADDs many worlds; a platform SETs its one.)no extension
Generate
Generate(:all) or Generate(:web / :desktop / :mobile). Writes REAL shell files (one per declared Reach) and returns the list of written paths. Raises when there is no world, no reach, or an unknown reach surface (LAW 3: refuse, never stub).no extension
GovernedBy
== 2. THE CAPABILITY SEAM ============================================== Wire the (fully configured, sealed) governance regime. Declares the platform's capability risk tiers into it when undeclared. the NAME of the object that governs this platform ("" if none)no extension
SetGovernedBy
(no comment in the source: the name reads as a sentence) set governed byno extension
AddCapability
Request a capability for the attached world: oPlat.AddCapabilityQ(:camera).SetPurposes([ :scan-dish-photo ])QCSXTZZZIBWU
SetPurposes
(no comment in the source: the name reads as a sentence) set purposesno extension
Granted
The governed decision: the WORLD is the actor, "use-<cap>" the action; permission CAN + authority SHOULD vs the risk tier.no extension
Admissions
(no comment in the source: the name reads as a sentence) admissionsno extension
OpenCommonsOn
== 3. THE COMMONS RUNTIME ============================================== Identity / sessions / messaging / stores over an OPEN stzDatabase. (The stored object shares the engine handle -- live; keep the original open while the platform runs.)no extension
SetKdfRounds
Tune the KDF cost. Default 100k; lower ONLY in tests. Must be set before RegisterIdentity (a stored hash is bound to the rounds used).no extension
KdfRounds
(no comment in the source: the name reads as a sentence) kdf roundsno extension
RegisterIdentity
KDF-BACKED IDENTITY (the engine KDF closes the plaintext gap): each identity stores a per-user random SALT + a PBKDF2-HMAC-SHA256 hash of the secret over @nKdfRounds iterations -- never the secret itself.no extension
OpenSession
Returns a session token, or "" (Why() explains) on refusal. The secret is verified by re-deriving with the stored salt + rounds and a CONSTANT-TIME compare (StzEngineCryptoConstEqual).no extension
SessionUser
(no comment in the source: the name reads as a sentence) session userno extension
PostMessage
(no comment in the source: the name reads as a sentence) post messageno extension
Inbox
(no comment in the source: the name reads as a sentence) inboxno extension
StorePut
(no comment in the source: the name reads as a sentence) store putno extension
StoreGet
(no comment in the source: the name reads as a sentence) store getno extension
ServeBody
== 4. THE NETWORKED BODY =============================================== Serve the harvested world over the R7 reactor host: GET /world -> the world (name, things, screens) as json GET /thing?name=x -> one thing's fields nPort 0 = ephemeral; the bound port via HostQ().Port().no extension
HostQ
The serving host (a chainable stz object -- Q-convention). NB: an accessor returns a handle-sharing copy; use it for Port()/ServeOne.no extension
ServeFor
(no comment in the source: the name reads as a sentence) serve forno extension
ServeOne
(no comment in the source: the name reads as a sentence) serve oneno extension
StopServing
(no comment in the source: the name reads as a sentence) stop servingno extension
PushWorld
== 5. REGISTRY + ENFORCEMENT ===========================================no extension
RetireWorld
(no comment in the source: the name reads as a sentence) retire worldno extension
IsActiveWorld
(no comment in the source: the name reads as a sentence) is active worldno extension
Worlds
(no comment in the source: the name reads as a sentence) worldsno extension
Bond
Declare a norm-bearing bond: from-world may attempt an action on to-world (still subject to governance at call time).no extension
CallAcross
The enforcement seam: a cross-world call goes through ONLY when (a) both worlds are active in the registry, (b) a bond declares the action, and (c) governance lets the calling world proceed. Returns TRUE/FALSE; Why() explains every refusal.no extension