GAB OS
completedmedium priorityAIOPS / System / Enterprise Architecture

GAB Enterprise Architecture Consolidation — ACOI Follow-On

SOURCE SIGNAL (CEO direct, 2026-09-08). Daniel Nsowah: architecture items should lead to a new initiative following up on ACOI, where architecture is looked at HOLISTICALLY — removing the old mistakes and doubles that have been built on top of, instead of addressing them once and for all. Stated dependency: the concurrent design initiative "will not be meaningful if the architecture is confusing and overlayered." LINEAGE. Baobab discovered and revealed the enterprise architecture as it exists. Canopy turned that into a maintained Enterprise Map and Architecture Atlas — but Canopy's own boundary explicitly excluded "product renaming" and "restructuring project", so it MAPPED the architecture and was barred from streamlining it. ACOI delivered the embedded operating-context layer and then produced a set of architecture questions that were recorded and never triaged. This initiative is the consolidation step that was never opened. ACOI OUTPUTS STILL UNTRIAGED (all created 2026-07-14 from initiative 28fb7f45, all due 2026-09-30, all still status "new"): plugin packaging for the GAB OS operating context layer (76280206-c529-4671-8ea1-5d7d3d10903d — "No plugin benefit was demonstrated by this project"); GIS-specialist reasoning capability (bd5d54b0-99a3-4b84-9d96-976a9497a16c); company-specialised model or training strategy (98b88d17-8731-47dd-b3a7-a9fc5030f75f). Also outstanding from ACOI: enforce enum membership in the central tool input validator (09256d55-7da1-41fc-a196-924182ba8c61, change_request, was due 2026-08-31, status new) and maintain the ACOI context layer after closure (6d111446-0951-4915-8352-f8bedd564025, was due 2026-08-13, status new). MEASUREMENT DEPENDENCY. The CEO expected the 13 August telemetry and measurement under ACOI to have informed any architecture change and the plugin question. It did not, for a specific reason: feedback 06137b87 established on 2026-08-31 that the closed ACOI project measured only the in-app Chief of Staff, while the CEO's real operating surfaces had moved to Codex, Claude, Kimi and Gemini — zero eligible normal routes before or after the 9 August tool-surface decision. The corrected cross-agent measurement is collecting 1-30 September 2026 with benefits review 1 October 2026 (review pack dae7aa72-61c2-41e6-b8db-b8c78c86a2b5). This initiative's evidence base should therefore consume the 1 October result rather than pre-empt it. EVIDENCED EXAMPLES OF ACCUMULATED DOUBLES AND UNOWNED BINDINGS (verified 2026-09-06 to 2026-09-08, illustrative not exhaustive). 1. WEBSITE AND ROUTING HAVE NO CONTRACTED OWNER. Farm Explorer Live task 1ec5ff33 recorded in its own pre-build evidence: "docs/modules/comms.md owns company website management; docs/modules/website.md is missing; MCP tool map has no website deployment tool." Comms owns the website by contract while no website module contract exists and no deployment tool is mapped. That task repaired a live split where canonical gabclimatesmart.com/farm-explorer redirected to an older /partnerships/explore experience while the READY deployment served the current catalog; e9a3e7f9 then added gab-website CI and five-route canonical verification. The specific defects were fixed; the ownership gap that produced them was not. 2. PRODUCT RENAMING DONE AT THE REGISTER, NEVER BOUND TO ROUTING. The 17-product register carries the renamed EIRAS family. Two products have already dropped the Lite suffix in the register (Regulatory Roadmap & ESG Pack; Efficiency & PMO / Sustainability Maturity) while their subdomains still read regulatory-lite and efficiency-lite. Subdomains ramsar and wetland-flood are not products at all — they are legacy names predating the rename, now serving SiteSense and FloodSense respectively. flood and wetland-flood serve the SAME FloodSense application. Tool products carry no URL in the register (FloodSense shows "delivered by: not recorded" and no url) while Farm Explorer Live does, so nothing reconciles a subdomain to a product. 3. DIVISION TAXONOMY EXISTS IN AT LEAST FOUR VARIANTS IN CODE. Migration 20260625060000 established six divisions (farm, agribusiness, consultancy, land, management, shared) and documented that a stale five-item list had been "baked in four application-code copies", silently blocking management and shared — real divisions at roughly GHS 15k/month — from ever receiving a budget row. Live code still carries: the six-division list; a seven-item variant adding ai_operations (lib/comms/receipt-tagger.ts); a five-item variant with Carbon (lib/voice/persona.ts, which is what the voice agent tells callers); and a seven-item category enum with carbon, corporate and platform (orchestrator route.ts). FRAMING DISCIPLINE INHERITED FROM THE DESIGN INITIATIVE. Accumulation is the normal condition of a continuous OS and is not evidence of organisational failure. This initiative exists to consolidate deliberately, once, rather than to catalogue faults. Closed projects (Baobab, Canopy, ACOI, Farm Explorer Live) remain closed and are read as inputs, never reopened. Expected benefits: One answer to what each public surface is and who owns it; contract coverage for surfaces that currently have none, website and eiras first; a single division taxonomy replacing four live declarations; duplicates disposed of explicitly rather than left in place; recorded dispositions for the three expiring ACOI capability questions; and a settled architecture the Design and Visual initiative can adopt without deciding architecture itself. Judged primarily by whether the design work can proceed without raising architecture questions of its own, supported by countable coverage and duplication measures against the G1 baseline. No revenue, conversion or engagement benefit is claimed — this is enabling-backbone work. Promoted from Portfolio & Business Analysis initiative 044bc747-1ee6-424d-9c0d-14990d53f572.

Owner: Daniel Nsowah
Overall Progress100%

Initiative to Operations Spine

Trace the work from Portfolio justification through Project delivery and operational handover.

portfolio baGate closedfull governance

G0-G2

Portfolio & BA

converted

G3

Plan / baseline

Passed or pending

G4

Execute, monitor & control

Pending or passed

G5

Acceptance / release

Pending or passed

G6

Closure / benefits

closed

Source initiative

GAB Enterprise Architecture Consolidation — ACOI Follow-On

044bc747-1ee6-424d-9c0d-14990d53f572 • project module • G3

Record Project Gate

Use for G3 baseline approval, G4 execution/control completion, G5 acceptance, and G6 closure or benefits review decisions.

Gate History

Portfolio G0-G2 and Project G3-G6 decisions in one view.

G0 — go

Portfolio & BA • Daniel Nsowah • 8 Sept 2026

PURPOSE. Produce an architecture GAB can ADOPT, settled enough that the Design and Visual initiative (project ed16b3ff) builds on it rather than inheriting accumulated layers. CEO standard: the design work "will not be meaningful if the architecture is confusing and overlayered." The initiative must do actual work on the findings — establishing ownership and binding — not produce another map. Baobab discovered; Canopy mapped and was explicitly barred from restructuring and product renaming; this initiative changes things. TWO STRANDS WITH DIFFERENT GATING RELATIONSHIPS. STRAND A, consolidation, is what the design initiative depends on: module contract coverage where none exists (website first), binding of every public surface to a named product with URL recorded and a stated subdomain-to-product rule, one division taxonomy consumed from a single source, and disposition of duplicate surfaces. Naming and product-relationship answers flow from Strand A into the design initiative, which consumes rather than decides them. STRAND B, the three open capability decisions — GIS-specialist reasoning capability, company-specialised model or training strategy, and plugin packaging — requires explicit CEO dispositions but DOES NOT GATE the design work. TIMING CONSTRAINT. The plugin decision waits for the 1 October 2026 cross-agent benefits review, because ACOI recorded that no plugin benefit was demonstrated and the measurement intended to test it covered only the in-app Chief of Staff rather than the CEO's actual operating surfaces. BOUNDARIES. Do not reopen Baobab, Canopy, ACOI or Farm Explorer Live — all remain closed and are read as inputs. Do not re-derive their evidence. Strand A must be bounded and sized to complete alongside the design initiative's WP1 to WP3 rather than blocking it indefinitely. Capacity must be reconciled against the concurrent design project before any promotion to Projects. No implementation, plugin build, model tuning, GIS-specialist build, code change or restructuring is authorised by this gate. OUTSTANDING AT G0. Tailoring and scoring were not completed at intake — governance level is set to full but tailoring, strategic fit, value, risk and capacity scores remain unset. G1 should establish them. Linking of the five untriaged ACOI feedback records to this initiative awaits explicit CEO confirmation; only 6aa04059 is linked so far.

G1 — go

Portfolio & BA • Daniel Nsowah • 8 Sept 2026

SCOPE IS STRAND A ONLY. Consolidation: module contract coverage where none exists — website first (comms owns company website management by contract while docs/modules/website.md does not exist and no deployment tool is mapped), eiras second (registered module, no contract document); binding of every public surface to a named product in the register with its URL recorded and a stated subdomain-to-product rule; one division taxonomy consumed from a single source rather than four variants declared in code; explicit disposition of the duplicate surfaces (flood and wetland-flood serve the same FloodSense application; ramsar and wetland-flood are legacy names predating the completed rename). STRAND B IS DEFERRED, NOT EXCLUDED. CEO decision 2026-09-08: get the architecture right first before considering plugin packaging, fine tuning and GIS specialisation. Feedback records 76280206, bd5d54b0, 98b88d17, 09256d55 and 6d111446 remain live and return in sequence after the consolidation delivers. Their 2026-09-30 due dates will lapse; that is a recorded CEO sequencing choice, not neglect. A formal deferral with a review date has not been set and the date is the CEO's to give. The plugin question additionally carries its own evidence dependency on the 1 October 2026 cross-agent benefits review. THE STANDARD THE WORK IS HELD TO. Establish ownership and binding; do not merely correct current values. Point fixes have been applied repeatedly — Farm Explorer Live task 1ec5ff33 corrected the routing split in August and the divergence returned in another form — because no contract assigns the binding. If the work reduces to a list of individual defects better handled as operational fixes in their owning modules, stop or redirect: consolidation must change ownership or it is not this initiative. BOUNDARIES. Do not reopen Baobab, Canopy, ACOI or Farm Explorer Live; all remain closed and are read as inputs, never re-derived. Do not redefine the company or its divisions, which are settled. No implementation, plugin build, model tuning, GIS-specialist build, code change or restructuring is authorised by this gate. Strand A must be bounded and sized to complete alongside the design initiative's WP1 to WP3 rather than blocking it. Capacity must be reconciled against the concurrent design project ed16b3ff before any promotion to Projects — the design initiative currently holds first call on CEO review time by the CEO's own allocation of 2026-09-06. NEXT: prepare the charter basis for Strand A toward G2, decomposed into bounded ownership and binding decisions with named owners.

G2 — go

Portfolio & BA • Daniel Nsowah • 8 Sept 2026

Charter v1.0 approved. Scope is Strand A only, six work packages: WP1 surface enumeration and baseline; WP2 product-to-surface binding with CEO selection of the naming rule and each duplicate disposition; WP3 contract coverage authoring docs/modules/website.md and the eiras contract and reconciling with comms.md; WP4 single-source division taxonomy; WP5 retirement discipline — the contract duty plus a CI check that fails on a duplicate declaration; WP6 handoff to project ed16b3ff, acceptance and closure. CAPACITY ALLOCATION REMAINS UNRESOLVED AND BLOCKS PROMOTION. The charter requires the CEO to state what review allocation this initiative receives before promotion to Projects. G2 approval did not specify it. The tension is live and explicit: on 2026-09-06 the CEO allocated first call on his review time to the design initiative ed16b3ff with all five other active projects continuing unpaused; this initiative carries four further CEO decision points. An explicit workable allocation is required — not a cleared backlog, and not an assumption that the design initiative's allocation extends to cover this work. STRAND B REMAINS DEFERRED, NOT EXCLUDED. Plugin packaging (76280206), GIS-specialist capability (bd5d54b0), model specialisation (98b88d17), enum validator hardening (09256d55) and post-closure context-layer maintenance (6d111446) are sequenced behind this work by CEO decision of 2026-09-08. The plugin question additionally awaits the 1 October 2026 cross-agent benefits review. STANDARD AND BOUNDARIES UNCHANGED. Establish ownership and binding; do not merely correct current values — stop or redirect if the work reduces to a defect list better handled as operational fixes in owning modules. Estimates do not become commitments until WP1 closes the recorded coverage limits: the public surface list is not exhaustively enumerated and gab-website was not audited for surface coverage. All code change passes the Lane B pre-build gate. Public URL or subdomain retirement requires link migration, an approval path and a recorded rollback. Closed projects stay closed. No implementation, code, contract or surface change is authorised by this gate; G3 approves the delivery baseline, naming and disposition selections are made at WP2.

G4 — go

Project • Daniel Nsowah • 20 Sept 2026

Execution, monitoring and control complete against the G3 baseline of 2026-09-11. All eight work packages are done; project progress 100 percent. ONE REBASELINE OCCURRED AND IS RECORDED, NOT ABSORBED. WP3b-ii's pre-build gate found the original 4-5 day estimate for the FloodSense and RamsarMap rewrite had been withdrawn and never replaced, and resized the work at 6-9 focused days (FloodSense 2-3, RamsarMap 4-6). That resizing is what surfaced the RamsarMap question rather than letting it run silently over. TWO IN-FLIGHT CORRECTIONS TO THIS PROJECT'S OWN G1 FINDINGS, both made at pre-build gates and both narrowing the claimed defect: 1. WP4: the G1 assessment stated four live division taxonomies. The gate proved three of the four apparent variants are legitimately distinct taxonomies under separate DB constraints (finance division_budgets six values; project_registry.category seven different values), and real divergence is four sites across three files, not four taxonomies. The wider framing is withdrawn. 2. WP5: the same pattern recurred across the Lite suffix, the eiras API path pairs, farm-explorer in two repositories and two held company assets. That constraint shaped the mechanism — check-bound-values.mjs encodes legitimate difference via distinct[] rather than failing on textual duplication, which a naive checker would have done on every CI run. MONITORING EVIDENCE. The estate's gates are live and enforcing: MCP parity at 233 handlers / 231 model-visible tools; check-bound-values in CI; check-brand-surfaces added 2026-09-20 and proven against two real drifted surfaces rather than a fixture; check-dependency-audit replacing a binary npm audit gate that had been failing since 2026-09-06 and silently skipping Deploy Supabase Migrations for fourteen days. That fourteen-day blind spot was found and closed during this project's execution window and is the clearest evidence the monitoring duty was actually discharged rather than assumed.

G5 — go

Project • Daniel Nsowah • 20 Sept 2026

Two CEO actions remain outside the repository and do not block acceptance, because neither serves a branded company surface any longer: delete the superseded Vercel projects gab-flood-tool and gab-sitesense-lite, both verified clear of branded domains on 2026-09-20. Separately, if ramsar.gabclimatesmart.com is removed from gab-ramsar-map, the app's new origin must be supplied so WETLAND_FLOOD_ORIGINS can be updated, or its own API calls will be rejected.

G6 — go

Project • Daniel Nsowah • 20 Sept 2026

ONE EXPECTED BENEFIT IS NOT MET AND IS CARRIED FORWARD, NOT CLOSED. benefits_check is recorded false for that reason. This project's stated benefits included "recorded dispositions for the three expiring ACOI capability questions". Verified against the operational_feedback register on 2026-09-20: all three are still status 'new', undispositioned, and due 2026-09-30 — ten days out. - 76280206-c529-4671-8ea1-5d7d3d10903d — plugin packaging for the GAB OS operating context layer - bd5d54b0-99a3-4b84-9d96-976a9497a16c — GIS-specialist reasoning capability - 98b88d17-8731-47dd-b3a7-a9fc5030f75f — company-specialised model or training strategy TWO FURTHER ACOI ITEMS ARE ALREADY PAST DUE, also still 'new': - 09256d55-7da1-41fc-a196-924182ba8c61 — enforce enum membership in the central tool input validator (change_request, was due 2026-08-31) - 6d111446-0951-4915-8352-f8bedd564025 — maintain the ACOI context layer after closure (operational_fix, was due 2026-08-13) These are CEO and Engineering dispositions, not agent work, which is why they were not closed by delivery. They are recorded here rather than allowed to lapse silently — an expiring question that nobody dispositioned is exactly the accumulation pattern this project exists to stop.

BA Documents Carried Forward

The pre-project logic that should govern delivery decisions.

Charter

Portfolio & BA artifact

# GAB Enterprise Architecture Consolidation — ACOI Follow-On ## Charter basis v1.0 — draft for Daniel's G2 review Prepared 8 September 2026. Portfolio initiative 044bc747-1ee6-424d-9c0d-14990d53f572. Full governance. G0 and G1 are approved; this document does not record G2 approval, authorize implementation or spending, or start any code change. ## 1. Purpose and authority Produce an architecture GAB can ADOPT — settled enough that the Design and Visual initiative (project ed16b3ff) builds on it rather than inheriting accumulated layers. The CEO's standard, stated 2026-09-08: the design work "will not be meaningful if the architecture is confusing and overlayered." This is the consolidation

Transition to Operations

Define where the project output lives after delivery.

Public surface ownership, subdomain-to-product binding and the three consolidation gates

website • accepted • Daniel Nsowah

This project created the website module, which did not exist when it started. Routing and public surfaces had been owned by comms.md by default while no website contract existed at all. That module is now the operating owner of what this project produced, and the project closes rather than continuing as a wrapper. WHAT TRANSFERS TO WEBSITE. Subdomain-to-product rule v1.0 (one branded subdomain, one public tool, short name without the Lite suffix), CEO-confirmed 2026-09-12. The TOOL_SUBDOMAINS map in proxy.ts, now nine entries. The RETIRED_SUBDOMAINS map and the wetland-flood 308 redirect to /tools — which stays ATTACHED to gab-os deliberately, because an unattached subdomain under the wildcard DNS gets no TLS certificate and the redirect would break, not become redundant. WHAT TRANSFERS ELSEWHERE. eiras owns the public tool backends and lib/eiras/public-tools.ts. brand owns lib/brand.ts and the identity values. finance owns lib/divisions.ts as the single division source. RECURRING DUTIES NOW OWNED, NOT PROJECT WORK. Run check:brand-surfaces after a deploy, never before — it inspects production, so running it early faithfully reports the old build. Keep check-bound-values' registry current when a new bound value appears; lib/eiras/public-tools.ts is listed there as identified but NOT yet enforced and is the next one to wire. Prune check-dependency-audit's ACCEPTED list when an entry stops being reported — its own STALE check enforces this, and that is what caught the two next@14 entries on 2026-09-20. THE FAILURE MODE THIS HANDOVER EXISTS TO PREVENT. Every defect this project fixed came from a surface nobody owned. Farm Explorer served two different experiences at once; wetland-flood cross-linked every Lite tool to the wrong product; two tools sat on a retired identity for weeks while both source gates stayed green. None were caused by bad code. They were caused by no named owner and no check that looked at the live thing.

Requirements Traceability

BR-001: Every live public surface must resolve to a named product in the register, with its URL recorded and a stated rule binding subdomain to product name.

linked • planning • scope • task linked • quality linked

Every surface enumerated in WP1 has a recorded product binding and URL in the register, and the subdomain-to-product rule is selected by the CEO at WP2.

BR-002: Module contract coverage must be complete for surfaces that currently have none — website first, eiras second — and the modules registry must match the contracts on disk.

linked • planning • scope • task linked • quality linked

docs/modules/website.md and the eiras contract exist and meet CONTRACT_STANDARD; website is registered in the modules registry; contract count on disk matches registered modules. Baseline at G1 was 27 contracts for 28 modules.

BR-003: One division taxonomy must be consumed from a single source by every code path that currently declares its own.

linked • planning • scope • task linked • quality linked

Exactly one division declaration remains in code, demonstrated by a repeatable check. Superseded declarations are retired, not left in place.

BR-004: Every duplicate surface must be disposed of explicitly — resolved, or retained with a recorded reason and named owner.

linked • planning • scope • task linked • quality linked

Each duplicate identified in WP1 carries a CEO-selected disposition at WP2, with link migration, approval path and recorded rollback where a public URL is retired.

BR-005: A retirement discipline must exist: a contract rule assigning who retires a superseded copy, plus an automated check that fails when a second declaration of a bound value appears.

linked • planning • scope • task linked • quality linked

The check runs in CI and demonstrably fails on a seeded duplicate. The contract rule naming the retirement duty is merged.

BR-006: The Design and Visual initiative must receive naming and product-relationship answers it can consume without deciding architecture itself.

linked • planning • scope • task linked • quality linked

Project ed16b3ff confirms it can proceed on the delivered architecture without raising architecture questions of its own — the CEO's primary acceptance test.