Current state¶
Evidence (dated)
This page records observations at a stated revision and date. Re-verify before relying on it; it is not a permanent contract.
This is the one page that says what is real. Everything else in the planes, packs and catalogs is the target architecture unless a section is marked Current implementation or Evidence. The facts below were observed in source on 2026-10-09 at the revisions listed; "exists" means the source was inspected at the stated scope, never that it is published, deployed, tested or verified unless that is stated. The site holds no running service: 1 page is labelled Current, 701 are Target, and every Target page will drift once implementation starts, which is why the rule at the end exists.
By repository and revision¶
| Repository | Revision | What is there | What it is not |
|---|---|---|---|
ConnectSoft.Extensions.AI.Factory / .Abstractions / .Messaging / .Messaging.MassTransit |
378ca89 / a85cc9b / 0d4767b / d4599ff | Execution lifecycle (FactoryAgentBase: accept → prompt → run → validate → retry ≤ 3 → complete, escalate or fail), request/result/trace envelopes, a MassTransit publisher |
No run identity, tenant scope, persistence, checkpoint, cancellation stage or idempotency; pins drift between repositories |
ConnectSoft.Extensions.AI, .AgentsFramework |
e02713e, 2d61ca4 | IChatClient registrations for OpenAI, Azure OpenAI, Ollama, Azure AI Inference; embeddings; Semantic Kernel vector connectors (InMemory, Azure AI Search, PgVector, Qdrant, SQL Server); keyed agents, tools, RAG, file skills, DevUI |
No model profile, routing policy, usage receipt or Anthropic adapter; only InMemory is wired in the agent host |
ConnectSoft.AI.SoftwareFactory.AgentTemplate (+ base-template) |
9639e63 (bc6ac93) | Agent host scaffold, 29 projects on .NET 10: sample agent, MCP tool wrapper, REST use case, Orleans grain, Hangfire jobs, MassTransit saga scaffold, retrieval sample, migrations, Audit.NET, OpenTelemetry | Three entry paths, two bypass the lifecycle; retrieval not tenant-scoped; MCP unauthenticated by default |
ConnectSoft.Extensions.ModelContextProtocol |
8e7feef | MCP hosting, optional authorization, Microsoft.AgentGovernance integration with policy paths, fail-closed and audit options | Governance is opt-in |
ConnectSoft.Extensions.MessagingModel / .Orleans / .MassTransit / .NServiceBus |
29c8e77 / d623cfd / c811b07 / ac70b3a | The messaging port (IEventBus, commands, events, handlers); Orleans outbox/inbox grains with NHibernate writer, SQL schema and 33 test files; MassTransit transports (options only); NServiceBus adapter |
README of the Orleans adapter is stale; profile evidence (contract tests per ADR-0012) not produced |
ConnectSoft.Extensions.Saas.*, Identity and AuthorizationServer templates, ConnectSoft.Saas.MeteringTemplate |
64c8082 and template repositories | Tenant resolution per canonical ADR-0100, OpenIddict issuer per ADR-0101, transactional usage and quota metering | Not bound into any Factory run, tool or retrieval scope |
| Template estate (BaseTemplate, Microservice, Worker, ApiGateway, Library, ApiLibrary, AISkillsLibrary, Platform, Blazor Shell, MFE and component templates) | see the libraries and templates catalogs | Real build tooling (Prepare-ExtendedTemplatePack, Invoke-TemplateCompose, Azure Artifacts pipelines); 43 templates, about 125 libraries inventoried (status shipping, stub, empty by the L1 rule) |
Generated-output validation and feed state not verified |
ConnectSoft.Saas.TenantsTemplate / ProductsCatalog / Entitlements / Billing / Metering |
ed6fad0 / 89e5255 / ad6871f / 36c193f / a0561ef (2026-09-16) | Descriptors, schemas and regenerate.ps1 per repository |
No script dispatches to a generator; the descriptor is an import format into blueprints since ADR-0025 |
DerechHaLev / Bereshit 2.0 (DerechHaLev.DocumentationSite 42af0c2) |
42af0c2 | Reference consumer of the template estate: gateway, authorization server, identity and six domain services on BaseTemplate; seven service projects reference the Orleans messaging adapter; approved design pack MSG1–MSG5 | Its deployment and operation are not verified in this repository |
ConnectSoft.AI.AgentKit (5238957), .Platform (bf69afb), .Agents (f600e3f), .OpenClaw (3ce3370), .Workforce (9d960d4) |
as listed | Earlier, non-Factory experiments (D19): 100 agent definitions, 84 skills, 6 placeholder workflows, catalogs, IDE adapters, OpenClaw runtime configuration | Reference input only; not Factory assets; three status vocabularies; 36 skills unreviewed |
ConnectSoft.DesignPrototypes |
afc511b (2026-09-19) | 41 prototype exports with fixture data and zero network calls; Factory prototype with 48 destinations (15 dedicated views); Workflow Studio prototype; design-system prompt and checklist | Design evidence only; no Studio repository exists |
| This documentation site | working tree, uncommitted since d8d43f40 | The target architecture: 9 planes, 16 platforms, 42 bounded contexts, 191 service rows with typed ER and DDL, 100 agent specifications, 25 workflow definitions, 866 seeded skills, 25 ADRs, generated catalogs and traceability | A design, not an inventory; see the rule below |
The components the Factory is assembled from, each marked exists, extend or develop, are listed on the ecosystem composition page from model/components.yaml.
Capability matrix¶
Status values follow the original handoff §78: EXISTING, PARTIAL, MISSING, DUPLICATED, CONFLICTING, DEPRECATED, UNKNOWN.
| Target capability | Status | Current evidence | Gap to target |
|---|---|---|---|
| Agent and skill authoring with IDE adapters | EXISTING (as an earlier experiment) | AgentKit .ai sources, bindings, generated adapters, verifier script |
Review workflow and release gates are separate concerns; not Factory assets (D19) |
| Asset registry and immutable release resolution | PARTIAL | File catalogs in AgentKit and Platform; no release service | No manifest, hash or closure publication; three status vocabularies |
| Desired-state control plane | MISSING | Design pages only | No project, run or approval API exists |
| Run lifecycle and durable orchestration | PARTIAL | FactoryAgentBase lifecycle, metrics and events; Orleans, Hangfire and MassTransit scaffolds |
No persisted run, step, attempt, lease, approval or checkpoint; no Cancelled stage |
| Common execution entry point | CONFLICTING | Lifecycle, MCP, REST and DevUI paths coexist in the agent host | Route every entry through one application port |
| Model adapters | EXISTING | OpenAI, Azure OpenAI, Ollama, Azure AI Inference through IChatClient |
No Anthropic adapter (D16) |
| Model profiles, routing and fallback | PARTIAL | Keyed registration with missing-service fallback | No profile contract, policy routing, provider failover or usage receipt |
| Tool discovery and MCP policy | PARTIAL | Explicit tool registry; MCP governance options | Governance opt-in; MCP unauthenticated by default; in-process tools outside governance |
| Context assembly | PARTIAL | Instructions, file skills, text search, in-memory history | No budget, provenance, snapshot or ranking |
| Knowledge ingestion and retrieval | PARTIAL | Chunking, embeddings, retry, upsert, top-k search | Post-search filtering, fixed 1,536 dimensions, InMemory-only wiring |
| Vector store | CONFLICTING | Qdrant connector referenced; the agent host throws for every non-InMemory provider | ADR-0013 profiles exist on paper only |
| Knowledge graph and code graph | MISSING (service) | Canonical Graphify guidance; AgentKit removed Graphify on 2026-09-13 | No Factory graph service |
| SaaS descriptor import and generation | PARTIAL | Five consumer repositories with descriptors and schemas; the generator specification | Decided as an import format (ADR-0025); no import or recipe service exists |
| Memory | PARTIAL | In-memory chat history; conversation storage in templates | No governed memory lifecycle |
| Tenant infrastructure | EXISTING (foundation) / PARTIAL (Factory) | Extensions.Saas.*; canonical ADR-0100 |
Factory trace, tool and retrieval contracts carry no tenant, project or run scope |
| Identity | EXISTING (foundation) | OpenIddict Authorization Server and Identity templates; canonical ADR-0101 | Factory roles, delegation and resource permissions exist only as design (D18) |
| Execution sandbox and workspaces | MISSING | A file-skill script runner that throws; legacy plugin runs processes unsandboxed | No per-run filesystem, compute, egress or secret boundary |
| Human approval | MISSING | Prototype toasts; design pages | No approval aggregate, decision record or expiry |
| Evaluation and replay | PARTIAL | Evaluator registration; unit tests | No release-gated suites, datasets or replay lineage |
| Observability | PARTIAL | OpenTelemetry, Factory meter, lifecycle events | No run attribution, terminal-state coverage or export verification |
| AI cost and quotas | PARTIAL | Generic tenant metering and quota template | No token or pricing capture, reservation or reconciliation |
| Messaging port and transports | EXISTING (port) / PARTIAL (Factory use) | IEventBus; Orleans outbox/inbox; MassTransit and NServiceBus adapters |
The Factory lifecycle publishes only through the MassTransit publisher; no transactional run state plus outbox |
| Factory Studio | MISSING (product) / EXISTING (prototype) | 41 prototypes; Blazor shell and MFE templates; AIChat mock | No console, no BFF, no live state |
| Marketplace, compute fleet, A2A, fleet operations | MISSING | Design pages only | Not started |
The rule for moving a page from Target to Current¶
A service, platform or agent page keeps doc_status: target until all of the following hold, and the page then carries a Current implementation section that states them:
- a repository and revision are named in which the described behaviour exists;
- the evidence is reproducible from that revision (a build, a test run, a contract test for the transport profile, or a documented inspection with its date);
- the model entry's
statusis changed tocurrentin the same change, so the generated catalogs and the coverage page agree with the page.
A page may be partly current: the section names which aggregates, APIs or events exist and which do not. The documentation standards carry this rule; the coverage page and the model report count the pages per status.
Related¶
- What exists today on the home page · Ecosystem composition · Ownership map · Inconsistencies register · References · review folder
handoffs/2026-10-09-independent-review/estate-current-state.mdandverification-record.md