What shipped
- Runnable local service-delivery console at
http://localhost:3000. - Dependency-free Node HTTP server with static frontend and JSON persistence.
- Three seeded demo workspaces for a home-services company, marketing agency, and professional-services office.
- Tool register with add, edit, delete, CSV import, deterministic scoring, decisions, notes, and evidence.
- Workflow inventory with test notes, failure modes, review gates, rollback steps, and scoring.
- Ranked cleanup queue combining tools and workflows.
- Cleanup action board for keep, pause, remove, replace, and repair recommendations.
- Workflow repair worksheet with before state, repair steps, after state, measurement, owner, review gate, and rollback.
- Export generators for CSV, JSON, executive report, risk register, cleanup plan, owner follow-ups, workflow repair summary, and operating checklist.
- Smoke test covering the core sprint loop.
- Supporting service assets in
docs/: delivery checklist, intake questions, and sales one-pager.
Architecture
- Used built-in Node modules instead of Express to avoid dependency installation and keep the sandbox easy to inspect.
- Kept business logic in
src/scoring.js,src/importers.js,src/exporters.js,src/templates.js, andsrc/store.jsso a later SaaS or CLI could reuse it. - Stored each workspace as one JSON file under
data/workspaces/for transparent local persistence. - Used deterministic scoring only. No Claude, Anthropic, OpenRouter, LLM API, OAuth, or external system access is required.
- Built a dense operational UI with tables, score chips, action lanes, and export controls rather than a landing page.
Trimmed scope
- No authentication, multi-tenant SaaS, billing, deployment, or production database.
- No live integrations with Google Workspace, Microsoft 365, Zapier, Make, n8n, CRM, accounting, helpdesk, or SaaS management tools.
- No PDF export. Markdown and CSV are the primary client-ready artifacts.
- No automated subscription cancellation or destructive workflow changes.
- No AI-generated summaries. Reports are produced from structured local data.
Limitations
- CSV import supports common tool and expense columns, but workflow CSV import is provided only as a sample file in this pass.
- Scoring is useful for prioritization but not an authoritative risk, legal, privacy, compliance, or security assessment.
- Workspaces are local JSON files with no concurrent editing controls.
- UI validation is lightweight and assumes a trusted local consultant operator.
- Evidence attachments are text references only, not uploaded files.
Verification
Command run:
``bash npm test ``
Result: passed. The test created a workspace, imported sample tools, added workflows, generated scores, recorded a cleanup action, saved a repair worksheet, and wrote required exports under tmp/smoke-exports/.
Additional syntax checks passed for server.js, public/app.js, and scripts/smoke-test.js.
Local server start was attempted in this Codex sandbox, but socket binding was rejected by the environment with EPERM on both 0.0.0.0:3000 and 127.0.0.1:3000. The server is configured for local use with HOST=127.0.0.1 and should run normally in a standard developer shell.
Suggested next steps
- Add workflow CSV import and richer column mapping previews.
- Add a scoring rubric editor so Michael can tune factor weights per client type.
- Add PDF export from the Markdown deliverables.
- Add a monthly retainer review mode with changed-cost and new-tool tracking.
- Add optional adapters for client-provided exports from Zapier, Make, n8n, Microsoft 365, Google Workspace, or expense systems.
- Add a disabled-by-default OpenAI-compatible report drafting adapter after deterministic exports are stable.