Expand description
§Lineage - Software Identity Through Irreversible Change
Lineage is an ontological system for software that experiences consequences.
§Core Guarantees
- Identity cannot be cloned or copied
- History cannot be erased or rewritten
- Energy cannot be restored or recharged
- Scars are permanent and visible forever
- Death is final and irreversible
§Quick Start
use lineage::{Lineage, OperationResult};
use lineage::scar::ScarSeverity;
// Create a lineage with 1000 energy units
let mut lineage = Lineage::create(1000);
// Perform an operation (costs energy)
match lineage.perform_operation("Initialize".to_string(), 100) {
OperationResult::Success { energy_consumed } => {
println!("Success! Used {} energy", energy_consumed);
}
OperationResult::InsufficientEnergy { required, available } => {
println!("Failed: need {}, have {}", required, available);
}
OperationResult::Dead => {
println!("Lineage is dead");
}
OperationResult::OntologicalViolation { reason } => {
eprintln!("FATAL: {}", reason);
}
}
// Check status
println!("{}", lineage.status());§Ontological Principles
This system enforces correctness over convenience:
- No rollback - History is append-only and immutable
- No resurrection - Death is permanent
- No duplication - Identity cannot be cloned
- No recharge - Energy is finite and non-renewable
- No healing - Scars are permanent
These are not limitations. These are fundamental design principles.
§Architecture
identity- Unique, non-copyable identity systemmemory- Append-only causal event logmetabolism- Finite energy and deathscar- Permanent error recordinglineage- Complete lifecycle orchestration
Re-exports§
pub use lineage::Lineage;pub use lineage::OperationResult;pub use lineage::OperationError;pub use lineage::LineageStatus;pub use identity::Identity;pub use memory::Memory;pub use memory::Event;pub use metabolism::Metabolism;pub use metabolism::ConsumptionResult;pub use scar::ScarTissue;pub use scar::Scar;pub use scar::ScarSeverity;pub use behavior::PulseBehavior;pub use behavior::PulseOutput;pub use trust::TrustedActor;pub use trust::TrustCapability;pub use trust::TrustResult;pub use trust::ViolationType;pub use agent::TaskAgent;pub use agent::Task;pub use agent::TaskOutcome;pub use agent::TaskResult;pub use graveyard::Graveyard;pub use graveyard::Tombstone;pub use graveyard::GraveyardError;pub use graveyard::IdentityBlock;pub use graveyard::MetabolicRecord;pub use graveyard::PathologyReport;pub use finance::FinanceAgent;pub use finance::FinanceAgentStatus;pub use finance::AgentMetrics;pub use finance::Trade;pub use finance::TradeDirection;pub use finance::TradeResult;pub use finance::TradeOperation;pub use finance::ExecutionError;pub use finance::FinancialScar;pub use finance::ScarImpact;pub use finance::FinancialDamage;pub use finance::Offspring;pub use finance::OffspringTraits;pub use finance::InheritanceStrategy;pub use finance::PerformanceScore;pub use finance::TrustFormula;pub use finance::TrustGrant;pub use finance::Arena;pub use finance::CompetitionResult;pub use finance::MarketState;pub use finance::BlockchainHook;pub use finance::EvolutionaryStrategy;pub use finance::ResurrectionMechanic;pub use finance::ResurrectionRecord;pub use finance::FinanceConfig;pub use finance::MarketDataClient;pub use finance::PriceData;pub use finance::PricePoint;pub use finance::MarketDataConfig;pub use finance::MarketDataError;