BOHICA-LABS / BOHICA-LABS/vsdd-factory

enhancement(factory-obs): 'factory-obs status' fails without separating registration state from docker stack state

Open
#207 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.