BOHICA-LABS / BOHICA-LABS/vsdd-factory
enhancement(factory-obs): 'factory-obs status' fails without separating registration state from docker stack state
- Dominant language
- Rust
- Stars
- 2
- Forks
- 1
- Avg merge
- 6h 43m
- Merged PRs (30d)
- 29
Description
## Summary
`factory-obs status` returns only `factory-obs: docker compose not found. Install Docker Desktop or the docker-compose v2 plugin.` when docker is missing, and provides no signal about whether the project's registration with the watch-list is intact.
Registration and stack-runtime are **independent** concerns:
- Registration writes the project's path to factory-obs's watched-list (a local TOML/JSON config). This works without docker.
- Stack-runtime is the running OTel collector + Loki + Prometheus + Grafana via docker compose.
`factory-obs status` conflates them and aborts on the missing dependency. The operator has no way to verify registration succeeded without grepping the config file by hand.
## Repro
```bash
# On a Mac with no docker installed:
factory-obs register
# → factory-obs: registered /path/to/project
factory-obs status
# → factory-obs: docker compose not found. Install Docker Desktop or the docker-compose v2 plugin.
# (no info about registration state)
```
## Proposed behavior
`factory-obs status` should report sections independently:
```
Registration:
✓ /path/to/project (registered)
✓ /path/to/other (registered)
OTel telemetry config:
✓ /path/to/project: CLAUDE_CODE_ENABLE_TELEMETRY=1, endpoint=http://localhost:4318
✗ /path/to/other: no OTEL env vars in .claude/settings.local.json
Docker stack:
✗ docker compose not found — install Docker Desktop or the docker-compose v2 plugin
(registration is intact; events will be tailed once stack is up)
```
## Why this matters
- **Diagnostic confusion.** During `/onboard-observability`, the skill runs `factory-obs status` as a stack-health check; failure here makes it look like onboarding failed, when in fact registration + OTel config landed cleanly.
- **Docker is optional for setup.** A user might intentionally defer docker installation (CI machine, locked-down corp laptop) but still want registration in place for when docker is available.
- **No way to debug.** "My events aren't showing in Grafana" → user runs `factory-obs status` → gets a docker error → can't tell if registration is the issue.
## Acceptance criteria
- [ ] `factory-obs status` reports registration, telemetry config, and docker stack as separate sections.
- [ ] Missing docker does not block reporting of registration / telemetry sections.
- [ ] Exit code reflects overall health, but stderr/stdout always shows what was checkable.
## Found during
`/onboard-observability` on `switchboard-blue` (2026-06-23, `vsdd-factory@1.0.0-rc.21`). Mac without docker installed. The skill's optional `factory-obs status` call returned only the docker-missing error, with no confirmation that registration succeeded.
Contributor guide
Assessment
This issue has not been assessed yet.