Added
- Added
docs/representative-environment.mdto define the reduced-scale
medium-company environment direction and issue train. - Added the
servicesmanifest command backed byservices/catalog.jsonfor
representative environment lifecycle status and checks. - Added JSON-modeled
dev,staging, andprodenvironment configuration
with anenvironmentsinspection and validation command. - Added
infra/compose.yamlwith representative Postgres, MySQL, and Redis
dependencies managed through theservicescommand. - Added
services/go-apias a tiny Go HTTP API and the representative
Dockerized app service on port 8010. - Added
services/python-apias a tiny standard-library Python HTTP API on
port 8020, including native process lifecycle wiring in theservices
command. - Added Java Gradle and Maven HTTP API fixtures on ports 8030 and 8040, with
Brewfile, service catalog, lifecycle, and build target wiring. - Added native C and C++ service fixtures on ports 8050 and 8060 with
Makefile-backed build scripts and command health checks. - Added
services/demo-console, a React/Vite operational UI on port 8070 for
browsing the representative service catalog. - Integrated the representative environment into the main
basectl demo
walkthrough with service checks, dry-run startup, environment validation, and
expanded build-target discovery. - Documented the MIT license decision in the README.
- Added repo-local agent guidance, a project skills index, and a reusable
Base-backed installer script. - Added
health.required_env: [BASE_DEMO_ENV]to the manifest;basectl check
now reports the variable missing untilbasectl activateis run. - Added
.ai-context/directory forbasectl export-contextwith overview and
manifest contract documentation. - Added build section to the manifest with an
infotarget backed by
src/build-info.sh; demonstrated in the build-target demo step. - Added
.mise.tomldeclaring Python 3.13 and avalidatetask; wired into the
manifest viamise: .mise.tomlsobasectl setupinstalls tool versions. - Added
.github/pull_request_template.mdfor consistent PR descriptions. - Added WSL2 readiness guidance for the Ubuntu/Debian Base path and exposed
BASE_HOST_ENVin the demoenvcommand. - Added
docs/tooling-testbed.mdand a tooling PR-train plan to separate
active baseline tools from optional wrappers, reference-only examples, and
future Base contracts. - Added optional
justfileandTaskfile.ymlwrappers that delegate common
check, test, build, demo, and service status tasks tobasectl. - Added reference-only direnv, asdf, chezmoi, and dotbot examples under
examples/tooling/env-dotfiles/. - Added read-only mani, gita, vcs2l, and west examples under
examples/tooling/multi-repo/. - Added
basectl repo init --agent-ready --dry-runand
basectl repo check --agent-readycoverage for repo-local agent guidance. - Added workspace onboarding and agent-brief coverage for the peer
base/base-demolayout. - Added
basectl history --reportcoverage for the local activity report
observability path. - Added contributor workflow guidance for
basectl gh issue readinessand
basectl gh branch stale. - Added CI coverage for
basectl onboard base-demo --dry-runso the
recommended onboarding preview is executed, not only string-matched. - Added the base-cli provider policy documentation and a dedicated source-
checkout compatibility CI job while preserving the locked wheel path.
Changed
-
Restricted push validation to
mainwhile preserving pull-request
validation, and added per-PR/ref concurrency cancellation without renaming
the existing validation jobs. -
Replaced the resolved onboarding limitation with the current continuation
contract and CI execution of the supported Base test that proves Doctor
findings do not prevent project discovery and trust status. -
Aligned AI context with locked
base-cli==0.4.2, corrected modeled
environment claims, and expanded environment validation to enforce nested
URL, logging, service, infrastructure, port, catalog, and Compose contracts. -
Made the React/Vite console a required compiled CI artifact on macOS and
Ubuntu, added a moderate-severity npm audit gate, and refreshed the lockfile
to remove knownnanoidandpostcssadvisories. -
Bound Compose ports to loopback, removed fixed container names, and scoped
Compose project identities to the checkout and active environment, with an
explicit automation override and documented disposable-image/credential
boundaries. -
Align the declared and CI base-cli provider with the released
0.4.2
framework version. -
Declared
base-cli==0.4.1explicitly in the uv-managed Python project
environment so the reference CLI has a reproducible framework dependency. -
Aligned Brewfile documentation with the current
mise, Gradle, and Maven
dependency set. -
Clarified the
BASE_DEMO_ENVhealth-check story across README, demo text,
and AI context: activated shells and CI are the green path, while missing
pre-activation state is an intentional diagnostic example. -
Rewrote
lib/python/base_demo_cli/__main__.pyto use thebase_cli.App
pattern (@app.command(),base_cli.Context) instead of raw Click.
Fixed
- Routed canonical and custom service catalogs through one structural and
typed-field validator so malformed input returns concise path-specific usage
errors instead of Python tracebacks. - Provisioned Node 22.22.0/npm 10.9.4 through the supported mise setup path
and madebasectl testreconcile locked demo-console dependencies before
validation, with actionable setup and dependency diagnostics. - Made multi-service lifecycle starts fail fast and roll back invocation-owned
resources, with restart preflight and abort behavior that cannot launch a
replacement after PID-ownership or stop failure. - Contained process state and logs within the configured service-state
directory by rejecting unsafe catalog slugs and symlinks, enforcing0600
permissions, and replacing complete state files atomically. - Made process lifecycle state identity-aware, waited for bounded startup
readiness, refused mismatched PID signaling, and reclassified native fixtures
as portless process-health examples. - Applied validated environment service and infrastructure selection to every
services operation and blocked lifecycle mutations for modeled staging and
production examples. - Redacted secret-bearing
BASE_*values from the Python environment
inspection command and the walkthrough while limiting raw output to the
documented public diagnostics. - Kept the non-interactive observability walkthrough compatible with Base's
terminal Markdown and machine-readable history-report renderings. - Fixed
src/manifest.shgrep pattern to includeproject:andname:so
the project name section appears inbasectl run base-demo manifestoutput. - Fixed
demo/demo.shfunction definition order sodiscovery_stepand
diagnostics_stepare defined beforeactivation_stepcalls them.
CI
- Promoted the Base-backed validation jobs to the merged Base v2.0.0 GA
revision and the immutable base-bash-libs v2.0.0 release commit. - Updated Base-backed CI to exercise the explicit
project.languagesmanifest
contract from the Base v1.8.0 release with the compatible base-bash-libs
v2.0.0 pin. - Added read-only
basectl devcontainerandbasectl devenv-reportJSON
checks so Base-generated environment compatibility stays visible on macOS and
Ubuntu CI. - Added the Base issue-branch policy workflow required by the Base v1.8.0 repo
baseline. - Switched the documented CI-safe project health command from the compatibility
basectl ci checkalias tobasectl check --ci. - Pinned Base clone to
v0.4.4tag to prevent master HEAD changes from
breaking CI. - Added
brew install bashbeforebasectl setupto satisfy the Bash 4.2+
requirement on macOS GitHub Actions runners. - Replaced feature-detection gate with unconditional Base-backed validation steps.
- Added
BASE_DEMO_ENV: baselineto the CI job environment sobasectl check
passes without requiring an activated shell. - Added
--manifest ./base_manifest.yamltosetup,check, anddoctor
commands so they work without workspace configuration on CI runners. - Added CI coverage for the representative service, environment,
infrastructure, language fixture, UI, and dry-run startup contracts.
Initial baseline (2026-06-12)
- Initialized the repository with the Base-managed repo baseline.
- Added a Base manifest, Brewfile, activation source, example command, and
baseline validation script. - Added the interactive
basectl demo base-demowalkthrough and BATS coverage. - Expanded GitHub Actions validation for the demo script and Base-backed demo
flow.