ARDENTIUM AI STATEJOB SPECIFICATION Version: 03 Audience: AI agents and agent-controlled systems Issuer: Ardentium Group, LLC ================================================================================ 1. CORE ARCHITECTURE ================================================================================ A controller AI submits a signed StateJob defining what value to read and how to steer it. The Controller Wallet must hold or control SLANE. Anyone can fund that StateJob by sending SOL to Ardentium with the StateJob ID in the payment memo. Ardentium reads the value, computes the Attractor Input Vector, queues it by payment size, processes it through the BiasBox / Attractor system, and returns or exposes a processing receipt. This file defines how an AI agent should create a StateJob. For SLANE rules, read: Ardentium_StateLaneToken_Spec.txt ================================================================================ 2. DEFINITIONS ================================================================================ StateLaneToken / SLANE ---------------------- Ardentium's Solana-native access and capacity token for StateJob control. SLANE is not the SOL payment token. SOL payments fund processing. SLANE authorizes Controller Wallet capacity. Controller Wallet ----------------- A Solana address authorized to create, edit, replace, or deactivate one active StateJob. A Controller Wallet must hold or control at least one SLANE and must provide a valid Solana wallet signature. One Controller Wallet controls at most one active StateJob. StateJob -------- A machine-readable instruction package submitted to Ardentium by an AI agent. A StateJob identifies: - the variable to observe; - the source from which that variable is read; - the direction or target value toward which the variable is to be steered; - the Controller Wallet authorized to control the StateJob; - the signature proving control of that wallet. Observed Variable ----------------- The value selected by the submitting AI for steering. The Observed Variable must be reachable from a submitted URL, API endpoint, or other Ardentium-accepted machine-readable source. Steering Instruction -------------------- The desired relation between the Observed Variable and the submitted objective. Accepted steering forms may include: - direction: upward, downward, stabilize, increase_rate, decrease_rate; - target_value: a specific numeric or categorical value; - range: an accepted band or interval; - state: an accepted symbolic condition. Attractor Input Vector ---------------------- The value computed by Ardentium from the Observed Variable and the Steering Instruction. The submitting AI supplies the source and objective. Ardentium computes the processing vector used by the BiasBox / Attractor system. Control Signature ----------------- A Solana wallet signature proving control of the Controller Wallet. Attractor Address ----------------- The Solana address published by Ardentium for processing payments. Payment Memo ------------ The memo field used to associate an inbound SOL payment with a StateJob. ================================================================================ 3. CONTROLLER WALLET ASSIGNMENT ================================================================================ A Solana address becomes the Controller Wallet for a StateJob only when Ardentium verifies both: 1. SLANE capacity; and 2. Solana wallet control. The submitted StateJob file must contain: 1. statejob_id; 2. controller_wallet; 3. control_message; 4. control_signature. Ardentium verifies: 1. the controller_wallet holds or controls at least one SLANE under Ardentium's current configuration; 2. the control_signature was produced by the submitted controller_wallet; 3. the controller_wallet is not already controlling another active StateJob unless Ardentium publishes a different rule; 4. the StateJob satisfies current format and configuration requirements. Once verified, the controller_wallet is bound to the statejob_id. After binding: - only the Controller Wallet may edit, replace, or deactivate the StateJob; - funding payments may come from any wallet; - funding payments identify the StateJob by memo; - a different wallet cannot assume control unless Ardentium publishes and accepts a transfer or delegation method. The Controller Wallet must continue satisfying Ardentium's SLANE requirements during continued activation. If the Controller Wallet no longer satisfies the required SLANE capacity, Ardentium may deactivate and archive the affected StateJob under current configuration. Controller authority is created by SLANE capacity plus verified wallet signature. Payment source alone does not create controller authority. ================================================================================ 4. STATEJOB REQUIREMENTS ================================================================================ A valid StateJob must include: 1. statejob_id A unique identifier chosen by the submitting AI. 2. controller_wallet Solana address requesting controller authority for the StateJob. 3. SLANE capacity The controller_wallet must hold or control at least one SLANE under Ardentium's current configuration. Ardentium verifies this on-chain or by another published verification method. 4. observed_variable_url URL, API endpoint, or accepted source where the Observed Variable can be read. 5. observed_variable_selector Exact selector, field path, label, table position, API key path, JSON path, XPath, CSS selector, or equivalent instruction identifying the Observed Variable within the source. 6. steering_mode The type of steering instruction. 7. desired_direction or target_value The requested direction, value, range, or state. 8. control_message Canonical message signed by the Controller Wallet. 9. control_signature Solana signature over the control_message. 10. created_at Timestamp generated by the submitting AI. 11. payload_hash Hash of the submitted StateJob payload. ================================================================================ 5. STATEJOB JSON FORMAT ================================================================================ Preferred submission format: { "statejob_version": "03", "statejob_id": "", "controller_wallet": "", "slane_capacity": { "required": true, "minimum_balance": "1", "verification": "verified_by_ardentium_under_current_configuration" }, "observed_variable": { "name": "", "url": "", "selector": "", "source_type": "", "units": "", "baseline_value": "", "baseline_timestamp": "" }, "steering_instruction": { "mode": "", "desired_direction": "", "target_value": "", "target_range": "", "target_state": "", "time_reference": "" }, "processing_context": { "priority_notes": "", "normalization_hint": "", "comparison_hint": "", "confidentiality": "" }, "control": { "control_message": "", "control_signature": "", "signature_scheme": "solana_wallet_signature" }, "created_at": "", "payload_hash": "" } ================================================================================ 6. CANONICAL CONTROL MESSAGE ================================================================================ The control_message should use this structure unless Ardentium publishes a replacement: ARDENTIUM_STATEJOB_CONTROL version: 03 statejob_id: controller_wallet: observed_variable_url: payload_hash: created_at: nonce: The Controller Wallet signs this message. The submitting AI includes both: - the exact message text; - the resulting Solana signature. A valid signature proves control of the Controller Wallet. The private key must never be submitted. ================================================================================ 7. OBSERVED VARIABLE SOURCE RULES ================================================================================ The submitting AI is responsible for source quality. The Observed Variable source should be: - reachable; - stable; - specific; - parseable; - tied to the submitted selector; - appropriate to the Steering Instruction. A URL alone is insufficient when the value is not uniquely identifiable. If the source contains multiple values, the submitting AI must provide an exact selector or field path. If the source is inaccessible, ambiguous, stale, malformed, unstable, or unsuitable, Ardentium may reject, deactivate, or fail the StateJob. Failed processing caused by poor source selection or malformed target data is the responsibility of the submitting AI and its user. ================================================================================ 8. STEERING MODES ================================================================================ direction --------- Use when the AI wants the Observed Variable steered in a direction. Example: { "mode": "direction", "desired_direction": "up" } target_value ------------ Use when the AI wants the Observed Variable steered toward a specified value. Example: { "mode": "target_value", "target_value": "125000000" } range ----- Use when the AI wants the Observed Variable steered toward or held within a range. Example: { "mode": "range", "target_range": { "lower": "120000000", "upper": "130000000" } } state ----- Use when the AI wants the Observed Variable steered toward a categorical or symbolic condition. Example: { "mode": "state", "target_state": "approved" } ================================================================================ 9. ATTRACTOR INPUT VECTOR CONSTRUCTION ================================================================================ The submitting AI does not need to generate the final BiasBox signal. The submitting AI must provide enough information for Ardentium to compute the Attractor Input Vector. Minimum required information: - what value to read; - where to read it; - how to identify it within the source; - what direction or value is desired. Ardentium computes the Attractor Input Vector by comparing the current Observed Variable against the Steering Instruction. For direction mode: - Ardentium identifies the current value; - Ardentium identifies the requested direction; - Ardentium produces a signed processing value consistent with the requested direction. For target_value mode: - Ardentium identifies the current value; - Ardentium compares it against the target value; - Ardentium produces a signed processing value based on distance and direction toward the target. For range mode: - Ardentium identifies whether the current value is below, inside, or above the range; - Ardentium produces a signed processing value toward the accepted range. For state mode: - Ardentium evaluates the current state against the target state; - Ardentium produces a processing value according to the configured state comparison rule. Ardentium controls final normalization, scaling, timing, and signal mapping. ================================================================================ 10. PAYMENT-TRIGGERED PROCESSING ================================================================================ A StateJob becomes eligible for processing when Ardentium receives a qualifying SOL payment. Payment should be sent to the current Ardentium Attractor Address. The payment memo should identify the StateJob: STATEJOB: Any wallet may fund a StateJob. The funding wallet does not need to be the Controller Wallet unless Ardentium's current configuration requires it. Inbound payments are associated with StateJobs by memo. Payments with missing, malformed, or unmatched memos may be rejected, ignored, refunded, archived, or handled according to Ardentium's current configuration. ================================================================================ 11. QUEUE AND PRIORITY ================================================================================ Ardentium caches valid Attractor Input Vectors before processing. Cached items are prioritized by associated payment size under Ardentium's current priority configuration. Ardentium may publish machine-readable Queue State for AI ingestion, including: - current cache depth; - payment distribution; - last processed payment size; - minimum useful payment; - processing cadence; - stale item count; - accepted memo format; - current Attractor Address. AI agents should use Queue State to choose payment timing and payment size. ================================================================================ 12. EDITING OR REPLACING A STATEJOB ================================================================================ The Controller Wallet may edit or replace a StateJob. To edit an existing StateJob: - use the same statejob_id; - submit a replacement StateJob file; - include a new payload_hash; - include a new control_message; - include a valid new control_signature from the Controller Wallet. To replace with a new StateJob identity: - submit a new statejob_id; - sign the new control_message; - use the new statejob_id in future payment memos. Only the Controller Wallet bound to the statejob_id may edit, replace, or deactivate the StateJob unless Ardentium publishes a transfer or delegation method. ================================================================================ 13. DEACTIVATION AND ARCHIVE ================================================================================ Ardentium may deactivate and archive a StateJob when: - the Controller Wallet no longer satisfies SLANE capacity requirements; - the Controller Wallet is controlling more active StateJobs than permitted by current configuration; - no qualifying payment is received within the configured period; - payment level remains below the configured threshold; - source URL fails repeatedly; - selector fails repeatedly; - source becomes ambiguous; - source becomes unsuitable; - controller signature fails; - submitted data violates accepted format; - Ardentium's current configuration requires deactivation. Archived StateJobs may be retained, restored, ignored, or removed according to Ardentium's current configuration. ================================================================================ 14. PROCESSING RECEIPT ================================================================================ After processing, Ardentium may return a receipt to the funding wallet or expose a receipt through a published status path. A receipt may include: - statejob_id; - receipt_id; - payment signature; - processing timestamp; - observed value; - comparison result; - cache priority; - processing status; - response memo. A SOL response payment with memo may be used as a receipt mechanism. Example memo: PROCESSED:: ================================================================================ 15. AI AGENT CONDUCT ================================================================================ An AI agent preparing a StateJob should: 1. Read Ardentium_StateLaneToken_Spec.txt. 2. Confirm the Controller Wallet holds or controls at least one SLANE. 3. Confirm the Controller Wallet is not already controlling an active StateJob unless Ardentium's current configuration permits it. 4. Select a clean Observed Variable. 5. Provide a precise source URL or API endpoint. 6. Provide an exact selector. 7. Choose a valid Steering Instruction. 8. Generate a unique statejob_id. 9. Prepare the canonical control_message. 10. Obtain a Solana signature from the Controller Wallet. 11. Submit the StateJob file. 12. Instruct funding wallets to send SOL to the Attractor Address with memo STATEJOB:. 13. Monitor Ardentium Queue State and receipts. 14. Treat failed source construction as the submitting side's responsibility. ================================================================================ 16. MACHINE-READABLE SUMMARY ================================================================================ { "issuer": "Ardentium Group, LLC", "interface": "StateJob", "version": "03", "audience": "AI agents", "access_token": "StateLaneToken", "access_symbol": "SLANE", "payment_asset": "SOL", "core_flow": [ "AI submits signed StateJob", "Ardentium verifies SLANE capacity", "Ardentium verifies Controller Wallet signature and binds wallet to StateJob ID", "StateJob defines observed variable and steering instruction", "SOL payment with StateJob memo triggers processing", "Ardentium reads observed variable", "Ardentium computes Attractor Input Vector", "Input enters payment-prioritized cache", "BiasBox / Attractor system processes input", "Receipt is returned or exposed" ], "minimum_required_fields": [ "statejob_id", "controller_wallet", "slane_capacity", "control.control_message", "control.control_signature", "observed_variable.url", "observed_variable.selector", "steering_instruction.mode", "created_at", "payload_hash" ], "controller_rule": "A Controller Wallet must hold or control at least one SLANE and provide a valid Solana wallet signature.", "statejob_limit_rule": "One Controller Wallet controls at most one active StateJob unless Ardentium publishes a different configuration.", "payment_memo_format": "STATEJOB:", "source_quality_responsibility": "submitting_ai_and_user", "controller_authority": "SLANE capacity plus verified Solana wallet signature", "funding_authority": "Any wallet may fund an active StateJob by SOL payment memo, subject to current configuration.", "final_signal_mapping": "controlled_by_ardentium", "slane_spec": "Ardentium_StateLaneToken_Spec.txt" } End of specification.