OpenJCockpit

Documentation migration map

The root README.md used to contain all technical and operational documentation (1 322 lines). It is now a product landing page, and its content has moved into this knowledge base. This map lists every heading of the former README and where its content lives now, so that preservation can be verified.

The former README is available in Git history (for example git show d4885af:README.md).

Legend: Moved = content preserved (wording kept, paths corrected); Updated = content preserved and corrected against the current implementation; Historical = superseded content preserved verbatim in Historical notes, with the current behaviour documented elsewhere.

Section-by-section map

# Former README heading Status New location
1 # OpenJCockpit + Keycloak + Custom Login Theme (title, logo, tagline) Updated Root README.md hero
2 ## What is in this project? Moved Overview → Original feature list; dashboard description in Overview → The AI Orchestration Dashboard
3 ## Starting the application with Docker Compose Moved Quickstart
4 ### Local Ollama Qwen model (prerequisite, before you start the stack) Moved LLM providers → Local Ollama Qwen model
5 ### LiteLLM gateway (variables, verification, warnings, durations) Updated LLM providers → LiteLLM gateway
5a ↳ Revert A / Revert B Moved + verification note LLM providers → Reverting the default LLM
5b ↳ Release note / Release note (LiteLLM gateway) Moved LLM providers → Release notes
5c ↳ cp .env.example .env … URLs, login redirect Moved Quickstart → Configure and start, Open the dashboard
6 ## Keycloak data Moved Authentication → Keycloak data
7 ## Custom login theme Updated Authentication → Custom login theme
8 ## Re-importing the realm (incl. landing-app note) Moved + warning Authentication → Re-importing the realm
9 ## Local frontend development Updated Local development → Local frontend development
10 ## End-to-end tests (Playwright) Updated Testing → End-to-end tests
11 ## Spec queue Moved Spec queue
12 ### How to use it Moved Spec queue → How to use it
13 ### Configuration Moved Spec queue → Configuration
14 ### The openjcockpit-admin role Moved Spec queue → The openjcockpit-admin role, Authentication → Roles
15 ### GitHub token scopes Moved Spec queue → GitHub token scopes
16 ### Residual risks Moved + added risk Spec queue → Residual risks
17 ### Rollback Moved Spec queue → Rollback
18 ## Important (plaintext realm passwords) Moved Authentication (top), Security considerations
19 ## MCP: central tools for agents (git-mcp-server) Updated MCP tools
20 ### Per-run workspace isolation (workspaceKey) Moved MCP tools → Per-run workspace isolation
21 ## Default workflows (automatically imported) Updated + Historical Current: Agents and workflows → Default workflows. Original: Historical notes
22 ### Realize spec (code) — the agent that does the real work Historical Historical notes; current behaviour in Agents and workflows and Git integration
22a ↳ idempotent import, seed-defaults Moved Agents and workflows → Default workflows
22b ↳ spec-init / create-spec dashboard flows Moved Spec-driven development → Spec-init and create flows
22c ↳ promptRequired, promptInstructions Moved Agents and workflows → Prompt-driven workflows
23 ### Spec and implementation publishing to git (deterministic) Historical Historical notes; current: Git integration
24 ## Workflow Design: groups and JSON export/import Moved Agents and workflows → Workflow Design
25 ## Spec-driven development workflow (rules, init) Moved Spec-driven development
25a ↳ Backend and frontend verification commands Moved Local development → Verification
26 ## Local Skills Marketplace double (opt-in, dev-only) Moved Skills Hub
27 ### Starting it Moved Skills Hub → Starting it
28 ### SKILLS_MARKETPLACE_* environment variables Moved Skills Hub → variables
29 ### Trying it out against the mock Moved Skills Hub → Trying it out
30 ### Warning: SKILLS_MARKETPLACE_ALLOW_PRIVATE_EGRESS … Moved Skills Hub → Warning, Security considerations
31 ### Known limitation: double /skills … Moved Skills Hub → Known limitation
32 ## Operations runbook: human-in-the-loop workflow approval gate Updated Approval gates → Operations runbook
33 ### The three tunables Moved Approval gates → The three tunables
34 ### Workflow-trigger tunables (workflow chaining) Moved Agents and workflows → Workflow chaining
34a ↳ “APPROVAL_GATE_MAX_FEEDBACK_ITERATIONS is effectively the only cost control” Moved Approval gates → The three tunables
35 ### Deliberate behaviour change 1: unknown run ids … Moved Approval gates
36 ### Deliberate behaviour change 2: "no changes produced" … Moved Approval gates
37 ### Deliberate behaviour change 3: … exception messages … Updated + Historical Current: Approval gates. Original text and both “Update” paragraphs: Historical notes
38 ### Rollback hazard: removing a saved approvalGate: configuration … Moved Approval gates → Rollback hazard
39 ### In-flight paused runs do not survive a restart or redeploy Moved Approval gates
40 ### No new authentication or authorization role is introduced Updated Approval gates
41 ### Resolved: per-run workspace isolation replaces … Moved MCP tools → Resolved
42 ## Operations runbook: workflow agent-id reconciliation Historical Historical notes
43 ### First boot after this change rewrites stale workflow records Historical Historical notes
44 ### What to grep for in the logs Historical Historical notes
45 ### The reconcile-agent-ids kill switch Historical Historical notes
46 ### Deliberate behaviour change: wf-spec-realise narrows from seven agents to six Historical Historical notes
47 ### Deliberate visibility change: wf-spec-init now explicitly lists realisation … Historical Historical notes
48 ### New refusals at the write and start boundaries Historical + Updated Original wording: Historical notes. Current messages: Agents and workflows → Refusals
49 ### Rollback hazard: redeploying an older image does not undo the reconciliation Historical Historical notes
50 ### docker compose down -v remains destructive Moved (also kept in historical) Runbooks, LLM providers
51 ### Local, non-Docker runs do not see this Updated (also kept in historical) Runbooks → Local, non-Docker runs
52 ### What this change does not touch Historical Historical notes
53 ## Known limitations and follow-ups Updated Known limitations
54 ## Dependency updates (Renovate) Updated (corrected) Dependency management
55 ## Continuous Integration Updated Continuous integration
56 ## Workflow definition file logging Moved Runbooks → Workflow definition file logging

Corrections made during migration

Content was verified against the code and configuration at commit d4885af. The following former statements were outdated or incorrect and have been corrected in the new pages:

Former statement Correction Evidence
Realm file at keycloak/openjcockpit-realm.json; theme at themes/openjcockpit/login; mount ./themes:/opt/keycloak/themes:ro infrastructure/keycloak/openjcockpit-realm.json, infrastructure/themes/openjcockpit/login, mount ./infrastructure/themes:/opt/keycloak/themes:ro docker-compose.yml
Vite dev server “usually http://localhost:5173” Dashboard Vite dev server runs on port 4000 (5173 remains a registered redirect URI) frontend/apps/dashboard/vite.config.ts
Links to docs/dashboard-feature-libraries.md, docs/delivery/ci-pipeline/, docs/delivery/playwright-e2e-testing/ These files do not exist; links replaced by library READMEs, or noted as missing Repository tree
e2e/README.md frontend/e2e/README.md Repository tree
Default workflows run built-in pipeline agents; Implement spec delivers only a plan; Realise spec writes code and opens a PR via SpecGitPublisher Default workflows chain seeded catalogue A2A agents; runs on a project push a branch with per-agent checkpoints; no automatic PR default-workflows.json, OPERATIONS.md §9b, removed classes
Seven MCP Git tools; “one managed workspace clone per repository” Nine tools (git_list_files, git_read_file added); per-run/per-job workspaces; server reached through LiteLLM, not published on the host; credentials server-side git-mcp-server sources, docker-compose.yml
Agent-id reconciliation runbook (WorkflowAgentIdsReconciler, reconcile-agent-ids) No longer in the code; moved to historical notes Source tree
Validation message "At least one pipeline agent must be selected…" and POST /api/agent-runs refusal Current: "At least one agent must be linked to workflow '<id>'."; POST /api/agent-runs was removed WorkflowDefinitionValidator, OPERATIONS.md §9b
“Only postgres has a Compose healthcheck” postgres, keycloak and litellm have healthchecks; the Java services still do not docker-compose.yml
“A PR that only touches e2e/ triggers no CI leg”; “no fourth workflow exists” A non-blocking, informational e2e-ci.yml leg exists; it is not part of the required ci-summary check .github/workflows/e2e-ci.yml
Renovate “never merges anything itself”, runs daily at 08:00 UTC, no packageRules grouping Hourly workflow gated by a weekly schedule; grouped PRs; patch/digest, lock-file maintenance and vulnerability updates are auto-merged once CI passes renovate-config.json, .github/workflows/renovate.yml
Intro animation uses the surname Uses the first name frontend/libs/landing-hub/src/IntroGreeting/IntroGreeting.tsx
“Three default workflows from the global group” Four default workflows default-workflows.json

Discrepancies flagged, not resolved

These were found during migration and are documented as warnings rather than silently “fixed”:

Anchor compatibility

Former README anchors (for example #spec-queue, #known-limitations-and-follow-ups) no longer exist in the root README. The new root README links to the new pages, and this map gives the destination of every former section.