Reference implementation for the Phoenix Architecture. Work in progress.
aicoding.leaflet.pub/
ai
coding
crazy
1/**
2 * Phoenix VCS — Public API
3 */
4
5// Models
6export type { Clause, IngestResult, ClauseDiff } from './models/clause.js';
7export { DiffType } from './models/clause.js';
8export type { CanonicalNode, CandidateNode, CanonicalGraph, ExtractionCoverage } from './models/canonical.js';
9export type { EdgeType } from './models/canonical.js';
10export { CanonicalType } from './models/canonical.js';
11export type { ClassificationSignals, ChangeClassification, DRateStatus } from './models/classification.js';
12export { ChangeClass, DRateLevel, BootstrapState } from './models/classification.js';
13export type { ImplementationUnit, BoundaryPolicy, EnforcementConfig, IUContract, EvidencePolicy } from './models/iu.js';
14export { defaultBoundaryPolicy, defaultEnforcement } from './models/iu.js';
15export type { GeneratedManifest, IUManifest, FileManifestEntry, RegenMetadata, DriftEntry, DriftReport, DriftWaiver } from './models/manifest.js';
16export { DriftStatus } from './models/manifest.js';
17export type { Diagnostic } from './models/diagnostic.js';
18export type { EvidenceRecord, PolicyEvaluation, CascadeEvent, CascadeAction } from './models/evidence.js';
19export { EvidenceKind, EvidenceStatus } from './models/evidence.js';
20export type { PipelineConfig, ShadowDiffMetrics, ShadowResult, CompactionEvent } from './models/pipeline.js';
21export { UpgradeClassification, StorageTier } from './models/pipeline.js';
22export type { BotCommand, BotResponse, BotName } from './models/bot.js';
23
24// Phase A
25export { normalizeText } from './normalizer.js';
26export { sha256, clauseSemhash, contextSemhashCold, clauseId } from './semhash.js';
27export { parseSpec } from './spec-parser.js';
28export { diffClauses } from './diff.js';
29
30// Phase B
31export { extractCanonicalNodes, extractCandidates, extractTerms } from './canonicalizer.js';
32export type { ExtractionResult } from './canonicalizer.js';
33export { extractCanonicalNodesLLM, extractWithLLMFull, selectMedoid } from './canonicalizer-llm.js';
34export type { LLMCanonOptions } from './canonicalizer-llm.js';
35export { resolveGraph } from './resolution.js';
36export { segmentSentences } from './sentence-segmenter.js';
37export type { Sentence } from './sentence-segmenter.js';
38export { contextSemhashWarm, computeWarmHashes } from './warm-hasher.js';
39export { classifyChange, classifyChanges } from './classifier.js';
40export { classifyChangeWithLLM, classifyChangesWithLLM } from './classifier-llm.js';
41export { DRateTracker } from './d-rate.js';
42export { BootstrapStateMachine } from './bootstrap.js';
43
44// Phase C1
45export { planIUs } from './iu-planner.js';
46export { generateIU, generateAll } from './regen.js';
47export type { RegenContext } from './regen.js';
48export { ManifestManager } from './manifest.js';
49export { detectDrift } from './drift.js';
50
51// Phase C2
52export { extractDependencies } from './dep-extractor.js';
53export type { ExtractedDep, ExtractedSideChannel, DependencyGraph } from './dep-extractor.js';
54export { validateBoundary, validateIU, detectBoundaryChanges } from './boundary-validator.js';
55export type { UnitBoundaryChange } from './boundary-validator.js';
56
57// Phase D
58export { evaluatePolicy, evaluateAllPolicies } from './policy-engine.js';
59export { computeCascade, getTransitiveDependents } from './cascade.js';
60
61// Phase E
62export { computeShadowDiff, classifyShadowDiff, runShadowPipeline } from './shadow-pipeline.js';
63export { identifyCandidates, runCompaction, shouldTriggerCompaction } from './compaction.js';
64export type { StorageStats, CompactionCandidate } from './compaction.js';
65
66// Phase F
67export { parseCommand, routeCommand, getAllCommands } from './bot-router.js';
68
69// Scaffold
70export { deriveServices, generateScaffold } from './scaffold.js';
71
72// Inspect
73export { collectInspectData, renderInspectHTML, serveInspect } from './inspect.js';
74export type { InspectData } from './inspect.js';
75export type { ServiceDescriptor, ScaffoldResult } from './scaffold.js';
76
77// LLM
78export type { LLMProvider, GenerateOptions, LLMConfig } from './llm/provider.js';
79export { DEFAULT_MODELS } from './llm/provider.js';
80export { AnthropicProvider } from './llm/anthropic.js';
81export { OpenAIProvider } from './llm/openai.js';
82export { resolveProvider, describeAvailability } from './llm/resolve.js';
83export { buildPrompt, SYSTEM_PROMPT } from './llm/prompt.js';
84
85// Evaluations (durable behavioral truth surface — survives regeneration)
86export type {
87 Evaluation, EvaluationBinding, EvaluationOrigin,
88 EvaluationCoverage, EvaluationGap,
89} from './models/evaluation.js';
90
91// Pace Layers & Conservation
92export type { PaceLayer, PaceLayerMetadata, PaceLayerViolation } from './models/pace-layer.js';
93export { defaultPaceLayerMetadata, inferPaceLayer, isPaceAppropriate, detectLayerCrossing } from './models/pace-layer.js';
94
95// Conceptual Mass
96export type { ConceptualMassReport } from './models/conceptual-mass.js';
97export { computeConceptualMass, interactionPotential, checkRatchet, MASS_THRESHOLDS } from './models/conceptual-mass.js';
98
99// Negative Knowledge (the system's immune memory)
100export type { NegativeKnowledge, NegativeKnowledgeKind } from './models/negative-knowledge.js';
101export { hasRelevantNegativeKnowledge } from './models/negative-knowledge.js';
102
103// Replacement Audit
104export type { AuditResult, AuditDimension, AuditBlocker, ReadinessLevel } from './audit.js';
105export { auditIU, auditAll } from './audit.js';
106
107// Stores
108export { ContentStore } from './store/content-store.js';
109export { SpecStore } from './store/spec-store.js';
110export { CanonicalStore } from './store/canonical-store.js';
111export { EvidenceStore } from './store/evidence-store.js';
112export { EvaluationStore } from './store/evaluation-store.js';
113export { NegativeKnowledgeStore } from './store/negative-knowledge-store.js';