Platform monorepo: cp-core, cp-api, capabilities, libraries, tools.
  • Go 85%
  • Shell 13.8%
  • Python 1%
  • PLpgSQL 0.1%
Find a file
Meka Reddy 11a3122bb3 Gitignore compiled Go binaries left by go build in package dirs
`go build ./...` from a workspace root drops a binary in each main
package dir (capabilities/workers/*/worker, platform/dispatcher/dispatcher).
The initial commit picked them up because they were already in the
tree; subsequent builds rewrite them with new build IDs, dirtying
the tree on every run.

These are output, not source. The tracked copies are removed from
the index; future builds no longer dirty the tree.
2026-05-08 03:23:53 -05:00
capabilities Gitignore compiled Go binaries left by go build in package dirs 2026-05-08 03:23:53 -05:00
docs Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
libraries Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
migrations Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
platform Gitignore compiled Go binaries left by go build in package dirs 2026-05-08 03:23:53 -05:00
tools Gitignore hanuman tool runtime logs 2026-05-08 03:22:06 -05:00
.gitignore Gitignore compiled Go binaries left by go build in package dirs 2026-05-08 03:23:53 -05:00
go.work Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
go.work.sum Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
Makefile Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
README.md Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
workspace.yaml Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00

Hanuman Platform Monorepo

The platform monorepo is the home for everything that "runs on our side" of the Hanuman platform: the kernel (cp-core), the worker-facing API (cp-api), cross-cutting platform services (internal-bus, dispatcher, governance-resolver, learning-store, audit-replay, outbox), the composable capability pool (workers / adapters / strategies / validators / api-surfaces / frontend-primitives), the versioned capability packs that bundle them, the thin use-case definitions, the deployment-shape IaC, the shared libraries, the tooling (workspace-control, taskpack, hanuman-cli, hcl-client), the Postgres migrations for platform components, and all human-facing documentation.

This repo depends on git.hanumanapps.io/hanuman/machine-protocol for contracts and types. It does not depend on verticals/, portal-build/, or portal-operations/ — those depend on it.

Layout

platform/
├── go.work                 # ties the internal Go modules together
├── Makefile                # top-level build entry
├── workspace.yaml          # platform-internal workspace map
│
├── platform/               # The kernel + cross-cutting platform services
│   ├── cp-core/            # orchestration kernel (Go module)
│   ├── cp-api/             # worker-facing HTTP (Go module)
│   ├── internal-bus/       # internal pub/sub (Go module)
│   ├── dispatcher/         # bridges to customer-side runtimes (Go module)
│   ├── governance-resolver/  # OPA-backed governance + policy (Go module)
│   ├── learning-store/     # learning substrate (Go module)
│   ├── audit-replay/       # L8 audit + replay engine (Go module)
│   ├── outbox/             # transactional outbox library (Go module)
│   └── shared/             # cross-component utilities (Go module)
│
├── capabilities/           # The composable execution units
│   ├── workers/            # sonar-worker, exec-worker, …
│   ├── adapters/           # github, sonarcloud, anthropic, …
│   ├── strategies/         # taskpack-runner, adaptive-strategy-engine, …
│   ├── validators/         # named-only initially
│   ├── api-surfaces/       # named-only
│   └── frontend-primitives/ # named-only
│
├── packs/                  # Versioned capability pack assemblies
├── use-cases/              # Thin use-case definitions
├── deployment-shapes/      # IaC per deployment shape
├── frontend-factory/       # named-only initially
├── shared-infrastructure/  # named-only
│
├── libraries/              # Cross-repo libraries
│   ├── eventbus/           # was libraries/hcl/eventbus
│   └── dbmigrate/          # was libraries/hcl/dbmigrate
│
├── tools/                  # Go tooling binaries
│   ├── workspace-control/  # the hanuman CLI
│   ├── taskpack/           # taskpack ops CLI
│   ├── hanuman-cli/        # general-purpose CLI
│   └── hcl-client/         # client + ops tools
│
├── migrations/             # Postgres migrations
│   ├── cp-core/
│   └── eventbus/
│
└── docs/                   # Human-consumed documentation
    ├── architecture/       # stable architecture (A1, ADRs)
    ├── policies/           # platform-level policies (focus-mode, etc.)
    ├── templates/          # planning templates
    ├── pattern-library/    # engineering patterns (placeholder)
    ├── ops/                # runbooks, env-vars
    ├── wip/                # work-in-progress design notes
    ├── handovers/          # H1-style handover docs
    ├── contracts/          # discussion docs (machine-protocol carries the schemas)
    └── archive/historical/ # archived past-phase artifacts

Build

cd /home/mreddy/hanuman/platform
go work sync
go build ./...                  # build every module via go.work
make                            # top-level convenience

Workspace control

cd /home/mreddy/hanuman/platform/tools/workspace-control
go build ./cmd/hanuman
./hanuman doctor                # check workspace conformance to A1
./hanuman validate              # validate layout against policy

A1 reference

The ratified workspace model lives at docs/architecture/A1-workspace-model.md. The platform monorepo is one repo within the larger workspace; see the workspace root README.md and workspace.yaml for the cross-repo picture.