Solidity smart contracts β StackIdentity, BandwidthToken, EpochAnchor, TripartiteGame, ResidueRegistry, NeedlecastRouter, QuellistTreasury, SleeveRegistry
✓ should have correct name and symbol for ComputeToken (337ms)
✓ should have correct name and symbol for MemoryToken
✓ should have 18 decimals β fine-grained cognitive capacity
✓ should mint bandwidth to a stack β consciousness comes alive
✓ should increase totalSupply on mint β more bandwidth in the system
✓ should reject mint from non-minter β only the treasury can issue bandwidth
✓ should allow owner to change the minter β treasury upgrade
✓ should allow stack owner to authorize a sleeve runtime
✓ should reject authorization from non-owner β you don't own that stack
✓ should allow revoking sleeve authorization β decommission
✓ should allow authorized sleeve to spend bandwidth
✓ should allow stack owner to spend directly
✓ should reject spend from unauthorized address β no stealing bandwidth
✓ should reject overspend β insufficient bandwidth for cognitive op
✓ should decrease totalSupply on spend β bandwidth consumed
✓ should transfer bandwidth between stacks
✓ should reject transfer from non-owner β can't move someone else's bandwidth
✓ should reject transfer exceeding balance β can't overdraft consciousness
✓ should allow owner to authorize a bridger β the needle operator
✓ should allow owner to revoke bridger β decommissioning the needle
✓ should reject non-owner from setting bridger β CTAC-only authority
✓ should commit an epoch anchor with all coherence roots
✓ should advance the head epoch pointer β time marches forward
✓ should allow multiple epoch commits in sequence β building the timeline
✓ should reject epoch regression β no time travel allowed
✓ should reject same epoch re-commit β each heartbeat is unique
✓ should reject commit from non-bridger β unauthorized needle transmission
✓ should record timestamp β when the anchor was committed to the chain
✓ should return zero-state for uncommitted epochs
✓ should start with head at 0 β no epochs committed yet
✓ should reject an anchor whose medullaHeight is not strictly greater
✓ should track lastMedullaHeight across commits
✓ verifyContinuity returns (true, true) when both anchors exist and roots advanced
✓ verifyContinuity returns (false, false) for the genesis epoch
✓ verifyContinuity returns (false, false) for an epoch with no prior anchor
✓ verifyShardInclusion accepts a valid Merkle proof for L0
✓ verifyShardInclusion accepts a valid Merkle proof for L3 (right-right path)
✓ verifyShardInclusion rejects a forged proof
✓ verifyShardInclusion returns false for an unknown epoch
✓ verifyShardInclusion returns false for a bad shard id
✓ should allow anyone to anchor an epoch β mining is permissionless
✓ should store anchor data β epoch, root, miner, timestamp
✓ should accumulate anchors β building the coherence timeline
✓ should route a needlecast for the stack owner
✓ should track lastAnchorOf β linking stacks to their latest needlecast point
✓ should reject route from non-owner β can't needlecast someone else's stack
✓ should allow owner to needlecast their own stack
✓ should allow multiple needlecasts β consciousness can move many times
✓ should reject epoch regression in needlecast β no going back in time
✓ should support complete flow: mine epoch, then needlecast through it
✓ should issue ComputeToken to a stack β processing power granted
✓ should issue MemoryToken β expanding recall capacity
✓ should issue SyncToken β cross-chain coherence resources
✓ should issue RoutingToken β needlecast routing capacity
✓ should issue ResidueToken β bounty for resolving coordination residues
✓ should reject invalid token kind β only 5 bandwidth channels exist
✓ should reject issuance from non-owner β Quellist principles cannot be subverted
✓ should claim epoch rewards β equal bandwidth across all four channels
✓ should track lastClaimEpoch β preventing double claims
✓ should reject claim for same epoch β no double-dipping consciousness
✓ should reject claim for earlier epoch β time regression
✓ should allow incremental claims β epoch by epoch progression
✓ should allow owner to change emission rate
✓ should reject emission change from non-owner
✓ should apply new emission rate to subsequent claims
✓ should detect a StaleOrdering residue β routing lag artifact
✓ should detect a SpeculativeDivergence residue β compute/memory mismatch
✓ should detect a ReorgOrphan residue β medulla-pow chain reorg crossed anchor
✓ should reject duplicate residue detection β each glitch is unique
✓ should reject bounty exceeding MAX_BOUNTY β prevent economic overflow
✓ should track residue count β how many ghosts haunt the system
✓ should resolve a residue with valid proof β ghost exorcised
✓ should mint ResidueToken as bounty to resolver β reward for fixing coherence
✓ should reject proof on non-existent residue β can't fix what isn't broken
✓ should reject double-resolution β first valid proof wins
✓ should reject proof from non-stack-owner β impersonation prevented
✓ should store proofHash β keccak of the resolution evidence
✓ should default to first-valid-proof model β meritocratic resolution
✓ should allow owner to change payout model β governance decision
✓ should reject model change from non-owner β only governance can alter economics
✓ should register a Human embodiment sleeve β organic body
✓ should register an AI embodiment sleeve β digital construct
✓ should register a Mining embodiment sleeve β proof-of-work body
✓ should register a Memory embodiment sleeve β hippocampus storage
✓ should store host ID β which machine runs this sleeve
✓ should reject duplicate registration β each sleeve is unique
✓ should reject registration from non-stack-owner β only you can clothe yourself
✓ should add sleeve to stack's sleeve list β tracking all bodies
✓ should decommission a sleeve β the body dies, but the stack lives on
✓ should reject decommission of already-dead sleeve β can't kill what's dead
✓ should reject decommission from non-owner β only you can retire your body
✓ should allow a stack to have multiple active sleeves simultaneously
✓ should keep decommissioned sleeves in the list β history is preserved
✓ should return empty list for stack with no sleeves β a naked stack
✓ should mint a cortical stack with correct identity pubkey
✓ should assign sequential tokenIds like stack serial numbers
✓ should emit StackMinted event β consciousness comes online
✓ should store the Coherence Profile Vector (CPV) β cognitive personality matrix
✓ should store Epoch Binding Curve β how fast memories decay
✓ should reject CPV coefficient > 2.0 β no consciousness can exceed limits
✓ should reject decay rate > 1.0 β binding cannot exceed unity
✓ should allow owner to authorize a router contract
✓ should allow owner to revoke router authorization
✓ should reject non-owner from authorizing routers β only CTAC has that power
✓ should record a needlecast from an authorized router
✓ should reject needlecast from unauthorized sender β only sanctioned routes
✓ should reject epoch regression β time only moves forward
✓ should reject needlecast on non-existent stack β can't cast into void
✓ should return zero-state for freshly minted stack
✓ should let the referee open a new game
✓ should reject double-open of the same game
✓ should reject openGame from non-referee β no rogue notary
✓ should let each party register itself with a per-epoch budget
✓ should reject registration by non-stack-owner β only the bearer
✓ should reject double-registration of the same party
✓ should expose the full party roster to inspectors
✓ should let a registered party consume compute within its budget
✓ should let consumption accumulate up to the per-epoch cap
✓ should revert when a single consume exceeds the per-epoch budget
✓ should revert when accumulated consumption tips over the cap
✓ should reset budgets per epoch β same cap applies in the next epoch
✓ should reject consume from a party that never registered
✓ should reject consume against an unknown game id
✓ should reject consume with an out-of-range resource enum
✓ should burn the underlying BandwidthToken on every consume
✓ should fail if the underlying BandwidthToken balance is insufficient
✓ verifyAllocationFair returns true when no party exceeds its cap
✓ verifyAllocationFair returns true even with all parties at the exact cap
✓ auditEpoch emits AllocationVerified(true) and returns true on a fair epoch
✓ remainingBudget reports the unspent allowance per resource
✓ remainingBudget for an unregistered party is 0
✓ any inspector address can read verifyAllocationFair β view is permissionless
✓ emits a Consumed event for every spend so inspectors can re-derive the ledger
✓ makes overspend impossible: the cap is a hard property, not a guideline
✓ supports many epochs of activity and remains auditable for each