cell 1.0.0-rc.1
cell: ^1.0.0-rc.1 copied to clipboard
Foundation layer of the Cell Framework — Cells, Nucleus, Context, Deputy Pattern, and Conactive execution with Causal Integrity.
Mitosis (1.0.0-rc.1) - Release Candidate #
This release promotes the cell core from Beta (Public Preview) to Release Candidate. The Switching Fabric, Core 16 operators, Cell.valve, OpenCell.perform, context / deputy / commons, and both transaction APIs are covered by a passing public-API unit-test suite with measured lib/ coverage. Breaking changes remain possible before a versioned 1.0 stable, but they should follow documented contracts rather than silent private-API drift.
Developmental Status #
- Code Stage: RC (Release Candidate).
- Stability: Public APIs for cells, pulses, operators, transactions, integrity gates, context, deputy, and commons utilities are exercised end-to-end. This is not a production-readiness certificate: the package is unpublished and has no independent security or correctness audit.
- Goal: Freeze the Mitosis public surface for 1.0 feedback; gather remaining issues on operator ergonomics, ingest/observe pipelines, transaction/
txApplyorchestration, and deputy attenuation.
Hardening #
- Unit tests: 1115 tests in 20 files under
packages/cell/test/; last full run 1115 passed / 0 failed / 0 skipped (~7 s with coverage). - Line coverage: 95.9% of instrumented
lib/lines (3397 / 3541), collected withdart test --coverage=coverageand merged to lcov. SeeTEST_VERIFICATION.md. - Dedicated suites:
test_context.dart,test_cell_policy.dart,test_test_rule_meta.dart,test_commons.dart,test_deputy.dart, plus operator phases 1–4 and core type suites. - High-coverage surfaces:
internal/cell.dart100%,internal/receptor.dart100%,operator_debounce.dart100%,internal/test_cell.dart100%,value.dart100%,test_cell.dart100%,test_rule.dart100%,internal/value.dart100%,internal/pulse_extensions.dart100%,synapses.dart100%,internal/deputy_context.dart99.1%,internal/synapses.dart98.9%,operator_tx_apply.dart97.8%,commons.dart97.6%,deputy.dart100%,internal/deputy.dart94.4%,cell_policy.dart97.6%,test_rule_meta.dart100%,internal/nucleus.dart94.1%,internal/pulse.dart90.4%,receptor.dart90.5%. - Contract alignment: Suites drive operators through
Cell.ingress/Cell.observe, synthesis aggregators returnPulse, receptors activate beforecall,Synapses.linkrequires host identity, andCell.txApplyenqueues onlymodifiabletear-offs. Test files aretest_*.dart(baredart testfinds nothing).
Fixes #
TestCell.readOnlyis no longer equal toTestCell.allowAll(empty-record collision); deputy attenuation usesidenticalagainst default sentinels.Nucleus.evolveforwardsoverride; deputies store context, bind, synapses, and composedtestRuleinstead of falling back to the principal.- Deputy
testRulelayering usesTestCell.chainsohoststaysCell?(notNever?fromTestPasses.+). MaxLengthhost quota and object length are independent checks (no else-if skip).EphemeralPolicy.callforwards arguments;SyncSet/SyncQueue/AsyncPriorityQueuemutations return the lockFuture.SyncQueue.addFirst/addLastaliasaddwithout fire-and-forget;AsyncPriorityQueue.addLastno longer recurses infinitely.- Context
fromEntriespreserves taxonomy/topology/version;ContextBaseparent lookup and[]walk the parent chain;DeputyContext.auditLevelreadsMandate.auditLevel. AsyncSynapsesshares the source filter, policy, buffer, timer, and relay (as documented); relay cycle-check uses_source.everyrather than the empty async iterable.FilterRuleparent lookup reads_record.parent(the field the constructors store), so a chained parent actually runs.- A pulse with
onCompletenow seeds its branch counter at1, so empty synapses can complete it instead of throwing on a null box. PropagationStrategy.samplecancels itsTimer.periodicheartbeat when the last observer is unlinked, so the timer does not leak for the isolate lifetime.NucleusBasestores a hostedephemeralPolicyon the inheritable flyweight (bit 8);_Nucleus.clonecopies it.Nucleus.isInvalidated/Cell.isInvalidatedthen follow the policy, including a deputy that inherits via the principal.fromFuturefailures emit a pulse withtype: 'error'and the error as payload (they are not swallowed)._DebounceState.cancelnow runs on re-arm,Duration.zero, timer fire, and output invalidation (it was previously unused).TestPasses/TestCell.readOnlyactionconsult_checkArguments/_checkActionRules;readOnly.linkaccepts aCellhost.
Documentation #
TEST_VERIFICATION.mdinventories all 20 suites, measured 95.9%lib/coverage, and run commands (test_*.dartfiles must be passed explicitly).Receptor.pipelineacceptsreaction,init,user, andisGovernedso flyweight mask combinations are reachable from the public factory.Cell.debounceacceptsephemeralPolicy; a hosted policy uses a governed output receptor so TTL / event-limit reclaim cancels a pending timer.FEATURES.mdcatalogs the public surface at RC1.0.0-rc.1(no longer labeled Alpha / Beta preview).PropagationStrategy.samplehas dedicated sync and async cases: the first pulse is heartbeated afterthrottleTime; later ticks of that same pulse are dropped by the cycle checker; unlink stops the timer.PulseExtension.map/castare restored: call throughPulseExtension(pulse)becausePulseis anIterable; results areEvolvedPulsefromevolve(pulse:).Nucleus.isInvalidated/Cell.isInvalidatedfollow a hostedEphemeralPolicystored on the nucleus inheritable record.ValueNucleus.from/evolve,ValueCell.terminal/receptor, nestedunmodifiable, standaloneTestRuleasync parent/chain, andOpenCell.asyncemit/ingest are covered.
Still RC #
- Not published to pub.dev; no independent security or correctness audit.
- Remaining lower-coverage files include
context.dart(90.3%),internal/pulse.dart(90.4%), andreceptor.dart(90.5%). - HowTo examples may still mention private APIs (
_nucleus); the unit tests do not. - Transaction / compensation internals have not been independently reviewed end-to-end.
Mitosis (1.0.0-preview.4) - Public Preview #
This release further hardens the cell core with more vigorous unit tests. Dedicated suites now cover Context / DeputyContext / PulseContext, EphemeralPolicy, annotation TestRules, commons.dart collections, Cell / OpenCell deputy, ValueCell.async, remaining synapses strategies including sample/async debounce/throttle/audit/buffered/retry/resilient, PulseExtension.map / cast against the current evolve(pulse:) contract, FilterRule parent / fromRecord / equality, ValueNucleus / ValueCell constructors, and standalone TestRule async parent/chain. Overall instrumented lib/ line coverage has reached 95.0%.
Developmental Status #
- Code Stage: Beta (Public Preview).
- Stability: Public APIs for cells, pulses, operators, transactions, integrity gates, context, deputy, and commons utilities are exercised end-to-end. Breaking changes remain possible before a versioned 1.0 stable, but they should follow documented contracts rather than silent private-API drift.
- Goal: Wider preview use of the core package; gather feedback on operator ergonomics, ingest/observe pipelines, transaction/
txApplyorchestration, and deputy attenuation.
Hardening #
- Unit tests: 1107 tests in 20 files under
packages/cell/test/; last full run 1107 passed / 0 failed / 0 skipped (~8 s with coverage). - Line coverage: 95.0% of instrumented
lib/lines (3353 / 3529), collected withdart test --coverage=coverageand merged to lcov. SeeTEST_VERIFICATION.md. - New dedicated suites:
test_context.dart,test_cell_policy.dart,test_test_rule_meta.dart,test_commons.dart,test_deputy.dart. - High-coverage surfaces:
internal/cell.dart100%,value.dart100%,test_cell.dart100%,test_rule.dart100%,internal/value.dart100%,internal/pulse_extensions.dart100%,synapses.dart100%,internal/deputy_context.dart99.1%,internal/synapses.dart98.9%,operator_tx_apply.dart97.8%,commons.dart97.6%,deputy.dart100%,internal/deputy.dart94.4%,cell_policy.dart97.6%,test_rule_meta.dart100%,internal/nucleus.dart94.1%,internal/pulse.dart90.4%,receptor.dart90.0%,internal/receptor.dart87.4%,internal/test_cell.dart78.3%. - Contract alignment: Suites drive operators through
Cell.ingress/Cell.observe, synthesis aggregators returnPulse, receptors activate beforecall,Synapses.linkrequires host identity, andCell.txApplyenqueues onlymodifiabletear-offs.
Fixes #
TestCell.readOnlyis no longer equal toTestCell.allowAll(empty-record collision); deputy attenuation usesidenticalagainst default sentinels.Nucleus.evolveforwardsoverride; deputies store context, bind, synapses, and composedtestRuleinstead of falling back to the principal.- Deputy
testRulelayering usesTestCell.chainsohoststaysCell?(notNever?fromTestPasses.+). MaxLengthhost quota and object length are independent checks (no else-if skip).EphemeralPolicy.callforwards arguments;SyncSet/SyncQueue/AsyncPriorityQueuemutations return the lockFuture.SyncQueue.addFirst/addLastaliasaddwithout fire-and-forget;AsyncPriorityQueue.addLastno longer recurses infinitely.- Context
fromEntriespreserves taxonomy/topology/version;ContextBaseparent lookup and[]walk the parent chain;DeputyContext.auditLevelreadsMandate.auditLevel. AsyncSynapsesshares the source filter, policy, buffer, timer, and relay (as documented); relay cycle-check uses_source.everyrather than the empty async iterable.FilterRuleparent lookup reads_record.parent(the field the constructors store), so a chained parent actually runs.- A pulse with
onCompletenow seeds its branch counter at1, so empty synapses can complete it instead of throwing on a null box. PropagationStrategy.samplecancels itsTimer.periodicheartbeat when the last observer is unlinked, so the timer does not leak for the isolate lifetime.NucleusBasestores a hostedephemeralPolicyon the inheritable flyweight (bit 8);_Nucleus.clonecopies it.Nucleus.isInvalidated/Cell.isInvalidatedthen follow the policy, including a deputy that inherits via the principal.
Documentation #
TEST_VERIFICATION.mdinventories all 20 suites, measured 95.0%lib/coverage, and run commands (test_*.dartfiles must be passed explicitly; baredart testfinds nothing).PropagationStrategy.samplehas dedicated sync and async cases: the first pulse is heartbeated afterthrottleTime; later ticks of that same pulse are dropped by the cycle checker; unlink stops the timer.PulseExtension.map/castare restored: call throughPulseExtension(pulse)becausePulseis anIterable; results areEvolvedPulsefromevolve(pulse:).Nucleus.isInvalidated/Cell.isInvalidatedfollow a hostedEphemeralPolicystored on the nucleus inheritable record.ValueNucleus.from/evolve,ValueCell.terminal/receptor, nestedunmodifiable, standaloneTestRuleasync parent/chain, andOpenCell.asyncemit/ingest are covered.
Still Beta #
- Not published to pub.dev; no independent security or correctness audit.
- Remaining lower-coverage files include
internal/test_cell.dart,internal/receptor.dart, andoperator_debounce.dart. - HowTo examples may still mention private APIs (
_nucleus); the unit tests do not.
Mitosis (1.0.0-preview.3) - Public Preview #
This release hardens the cell core and advances the project from Alpha to Beta. The Switching Fabric, Core 16 operators, Cell.valve, and OpenCell.perform are covered by a passing unit-test suite aligned to public APIs. The architecture is no longer a prototype inventory; it is a Beta public preview with measured coverage and documented contracts.
Developmental Status #
- Code Stage: Beta (Public Preview).
- Stability: Public APIs for cells, pulses, operators, transactions, and integrity gates are exercised end-to-end. Breaking changes remain possible before a versioned 1.0 stable, but they should follow documented contracts rather than silent private-API drift.
- Goal: Wider preview use of the core package; gather feedback on operator ergonomics, ingest/observe pipelines, and transaction/
txApplyorchestration.
Hardening #
- Unit tests: 695 tests in 15 files under
packages/cell/test/; last full run 695 passed / 0 failed / 0 skipped (~4 s). - Line coverage: 62.7% of instrumented
lib/lines (2187 / 3486), collected withdart test --coverage=coverageand merged to lcov. SeeTEST_VERIFICATION.md. - Contract alignment: Suites drive operators through
Cell.ingress/Cell.observe, synthesis aggregators returnPulse, receptors activate beforecall,Synapses.linkrequires host identity, andCell.txApplyenqueues onlymodifiabletear-offs. ingestcompletion:serializedCompletion: true(the default onStateHandle/IngressHandle) now waits until the pulse is processed, not merely queued.- Operators under test:
state,ingress,observe,derive,debounce,throttle,distinct,synthesis,asyncMap,hub,switchMap,fromFuture,fromStream,sanitized,open,transaction,txApply, plusCell.valveandOpenCell.perform. - Core types under test:
Cell,Pulse(includingcompareToby timestamp),Nucleus/Nucleolus,Receptor,Instruction,Synapses,TestCell,PropagationPolicy,SynthesisCell.
Fixes #
- Deputy identity:
cell == deputyandhashCodewalk to the principal;Cell.deputyforwardsDeputyContext. Pulse.compareToby timestamp is deterministic (waits for the clock to advance); hops0is no longer treated as TTL-invalid.- Nucleus activation/
fromNucleusclone-on-second-hydrate; nucleus timestamps areDateTime. - Instruction
+/chainshort-circuit on null and return the transformed pulse; customstrategyis stored and invoked. - Receptor templates activate on
Cellconstruction;Receptor.asynchooks see drops. TestPasses/TestCell.readOnlyparticipate inTestCellidentity;TestCell.callreturnsFutureOr.- PropagationPolicy value equality; leading throttle;
Duration.zeromeans no delay / no lockout; buffered flush on size and timer. ValueCell.toStringisValueCell<$V>($value).
Documentation #
TEST_VERIFICATION.mdinventories all 15 suites, measured coverage, and run commands (test_*.dartfiles must be passed explicitly; baredart testfinds nothing).FEATURES.md,ARCHITECTURE.md,README.md, andKNOWN_ISSUES.mddescribe the public surface, Alpha-era gaps that remain (unpublished, no audit, low-coverage Context/deputy/commons), and HowTo vs unit-test contracts.
Still Beta #
- Not published to pub.dev; no independent security or correctness audit.
- Context / DeputyContext / commons /
test_rule_metaremain low line-coverage. PulseExtension.map/casttests are commented out; severalPropagationPolicystrategies have no dedicated cases.- HowTo examples may still mention private APIs (
_nucleus); the unit tests do not.
Mitosis (1.0.0-preview.2) - Public Preview #
This marks the latest pre-release of the Cell framework. "Mitosis" has reached functional stability, transitioning from a reactive fabric prototype to a comprehensive, high-performance state management solution for Dart.
New Features & Improvements #
- 16 Core Operators: The framework now features a stabilized "Standard Entry Tier" of 16 static operators that cover the vast majority of reactive programming needs:
- Entry Points:
state,ingress,observe,derive - Shape & Flow:
debounce,distinct,throttle - Async & Bridges:
asyncMap,fromFuture,fromStream - Combination & Routing:
synthesis,hub,switchMap,sanitized - Orchestration:
transaction,txApply
- Entry Points:
- Extended Flow Control: Added specialized operators for fine-grained signal pressure control, including
valve.throttleis now part of the core 16. - Comprehensive Example Suite: Added a wealth of examples in
/exampleto demonstrate common patterns, architectural walkthroughs, and advanced usage, including:- Walkthroughs:
receptor_pipeline_walkthrough.dart,instruction_pipeline_walkthrough.dart - Real-world Scenarios:
stability_search_demo.dart(debounced search),atomic_multi_update.dart(consistent multi-cell updates),transaction_demo.dart. - Feature Demos:
hub_demo,async_map_demo,sanitized_demo,synthesis_demo,valve_demo,throttle_demo,distinct_demo, and more.
- Walkthroughs:
- Production Hardening: Verified thread-safety and atomic consistency for complex multi-cell updates, and optimized the Switching Fabric for high-performance signal propagation.
- Forensic Traceability: Enhanced
traceIdand provenance metadata across asynchronous boundaries and complex transformations. - New "How-To" Learning Suite: Added a comprehensive set of guides in
/guideto help developers master the framework, including:HowTo-Start.md: A complete quick-start path.HowTo-16_Essential_Operators.md: Deep dive into the core entry tier.HowTo-Receptor.md,HowTo-Synapses.md,HowTo-TestCell.md,HowTo-Instruction.md: Specialized pipeline guides.HowTo-Pulse.md,HowTo-Context.md,HowTo-Nucleus.md: Core architectural components.HowTo-Transaction.md,HowTo-TransactionOnApply.md: Atomic updates and orchestration.HowTo-PulseContext.md,HowTo-DeputyContext.md: Advanced metadata and attenuation.HowTo-EphemeralPolicy.md,HowTo-PulseEphemeralPolicy.md,HowTo-PropagationPolicy.md: Fine-grained lifecycle and propagation control.HowTo-Advanced.md: Complex patterns and edge cases.
Mitosis (1.0.0-preview.1) - Public Preview #
This is the initial "Mitosis" release of the Cell Framework, currently in a Preview stage for public preview. This release marks the first stable division of the framework's core concepts into a functional reactive fabric.
Architectural Foundation #
- The Switching Fabric: A decentralized reactive network where signals propagate based on semantic relevance.
- Managed Nodes (Cells): Autonomous units of state and logic that govern their own internal invariants.
- Causal Signals (Pulses): High-integrity data carriers with built-in traceability (
traceId) and justification. - Reactive Update Cycle: A strict three-phase pipeline (Ingress, Transformation, Egress) for every state mutation.
Core Features #
- The Ergonomic Entry Tier: Nine core static constructors (
ingress,value,hub,observe,valve,tissue,derive,sanitized,open) for simplified developer experience. - Capability-Based Access Control (CBAC): Integrated security model using Reciprocal Handshakes for bidirectional mutual authorization.
- Integrity Gates: Policy Enforcement Points (via
TestCell) that decouple validation law from business logic. - The Deputy Pattern: Support for privilege attenuation and logical isolation through defensive proxies.
- Forensic Traceability: Mitigation of comprehension debt via
ReasoningStrategyandjustificationmetadata.
Developmental Status #
- Code Stage: Preview (Public Preview).
- Goal: Gathering feedback on the ergonomics of the Switching Fabric and the effectiveness of Scene-Driven Governance.
- Naming Convention: Major architectural milestones will follow biological nomenclature. "Mitosis" represents the birth and initial division of the framework.
1.0.0-beta.1 (2025) #
- Initial Commit