Completed Plans
All completed plans and investigations, sorted by date. Kept for reference.
| Plan | Goal | Completed |
|---|---|---|
| Plan: clean up merged kubeconfig entries when destroying an AKS cluster | — | 2026-05-16 |
Plan: AKS — Bring 02-post-apply.sh secrets-apply step to parity with bash | — | 2026-05-16 |
Plan: derive TAILSCALE_OWNER_ID default from GITHUB_USERNAME + soft-warn validation guards | Close the contributor-bypass gap left after PLAN-002 — a fresh install that skips the wizard and runs ./uis secrets generate directly should still produce a non-colliding TAILSCALE_OWNER_ID. Soft-warn (matching the existing DEFAULT_* placeholder pattern) when the resolved value is missing or malformed. | 2026-05-16 |
PLAN: per-instance rows in ./uis status + ./uis list for multi-instance services | Make multi-instance service deployments individually visible in ./uis status and ./uis list. After this PLAN ships, deploying postgrest --app atlas + postgrest --app railway produces two rows in the status table (atlas-postgrest, railway-postgrest) instead of a single binary postgrest ✅ Healthy row, so the user can identify each instance by its Kubernetes Service name — the same string they need for ./uis network expose tailscale <name>. | 2026-05-16 |
INVESTIGATE: TAILSCALE_OWNER_ID default needs to be developer-unique | Two developers on the same tailnet, both running ./uis deploy tailscale-tunnel against UIS for the first time without overriding the default: | 2026-05-16 |
| --- | — | 2026-05-16 |
| INVESTIGATE: Undeploy --purge flag | — | 2026-05-16 |
INVESTIGATE: ./uis status doesn't show multi-instance services | See "Root cause (confirmed)" below for what the code is actually doing. | 2026-05-16 |
Plan: Add ./uis tools install azure-aks meta-tool | Add a single ./uis tools install azure-aks command that installs both AKS dependencies (azure-cli and opentofu) in one shot. Replaces today's two-command pattern (./uis tools install azure-cli + ./uis tools install opentofu + know both are needed). This is PLAN #1 of 4 spawned by INVESTIGATE-platform-aks-novice-onboarding.md; it's the smallest and unblocks the rest. | 2026-05-15 |
Plan: ./uis platform up azure-aks chain wrapper | Add ./uis platform up azure-aks — a thin chain wrapper that runs the three existing lifecycle scripts (00-bootstrap-state.sh → 01-apply.sh → 02-post-apply.sh) in order with visible inter-step banners. This is PLAN #3 of 4 spawned by INVESTIGATE-platform-aks-novice-onboarding.md. Trivial once PLAN #2's init ships — the heavy lifting (sub discovery, role check, region pick, provider registration, env-file write) is done; up just executes the IaC. | 2026-05-15 |
Plan: ./uis platform init azure-aks wizard | Add an interactive ./uis platform init azure-aks wizard that compresses today's most novice-hostile steps (sub discovery + role check + region pick + provider registration + env-file write) into one command. This is PLAN #2 of 4 spawned by INVESTIGATE-platform-aks-novice-onboarding.md — the big one. PLANs #3 (up) and #4 (down) follow once this lands. | 2026-05-15 |
Plan: ./uis platform down azure-aks pass-through wrapper | Add ./uis platform down azure-aks — a thin pass-through to the existing 03-destroy.sh lifecycle script. This is PLAN #4 of 4 spawned by INVESTIGATE-platform-aks-novice-onboarding.md — the last and most trivial. Closes the AKS novice-onboarding sequence (tools install + platform init + platform up + platform down). | 2026-05-15 |
| Plan: User-facing tools documentation + cleanup of contributor tools doc | Make the tools available inside uis-provision-host discoverable from the user-facing parts of the docs (today they're only in contributors/), and bring the existing contributor doc into line with reality (currently claims tools are pre-installed, lists terraform/oci/etc. that aren't actually in the system). | 2026-05-15 |
Plan: Harden ./uis tools install scripts — fail loudly, run repeatedly | Make every provision-host/uis/tools/install-*.sh script (a) safely re-runnable any number of times and (b) return a non-zero exit code if any installation step fails — including silent failures inside piped `curl | bashinvocations and sequentialapt-get` commands. |
Plan: ./uis platform list / use + per-command platform banner | — | 2026-05-15 |
| --- | — | 2026-05-15 |
| --- | — | 2026-05-15 |
| Deploy Enonic XP CMS | Deploy Enonic XP 7.16.2 as a UIS platform service using direct Kubernetes manifests (StatefulSet pattern), with no external database dependencies | 2026-05-15 |
| Upgrade Elasticsearch to 9.3.0 | Pin Elasticsearch to version 9.3.0, upgrading from the unpinned 8.5.1 default to unblock OpenMetadata deployment and eliminate version drift risk. | 2026-05-15 |
| PLAN: Delete Old Deployment System | — | 2026-05-15 |
Plan: Move AKS config to .uis.secrets/cloud-accounts/azure-default.env | Replace the bash-file-in-tree config (platforms/azure-aks/azure-aks-config.sh) with the documented .uis.secrets/cloud-accounts/azure-default.env convention. Single user-edited file; defaults visible inline as commented overrides; scripts use ${VAR:-default} shell fallback. Aligns AKS with the cluster-secret pattern that secrets.md already documents. | 2026-05-15 |
| PLAN-004: Backstage API Entities | Add API entities to the Backstage catalog so that services show "Provided APIs" and "Consumed APIs" tabs with dependency relationships | 2026-05-15 |
| PLAN-003: Tailscale docs lift-up + tester verification | Write the user-facing Tailscale documentation against the new CLI, update the networking hub to surface the production-vs-developer framing and team-sharing semantic, and verify end-to-end with the tester against the real dog-pence.ts.net tailnet. | 2026-05-15 |
| Plan: UIS Template Command + PostgreSQL Demo Template | Build the uis template command in UIS and the first UIS stack template (PostgreSQL demo) in TMP. The two together validate the end-to-end template flow. | 2026-05-15 |
| PLAN-002: Tailscale network CLI port | Port Tailscale from uis tailscale expose/unexpose/verify + uis deploy tailscale-tunnel to a first-class uis network <verb> tailscale family symmetric with the Cloudflare port (PRs #169–#172), including per-service expose/unexpose sub-verbs. | 2026-05-15 |
| Plan: PostgREST deployment (platform service implementation) | Implement PostgREST as a deployable, multi-instance UIS service following every decision recorded in INVESTIGATE-postgrest.md. After this plan, ./uis configure postgrest --app <name> followed by ./uis deploy postgrest --app <name> produces a working REST API serving an api_v1 schema, and the platform supports the multi-instance pattern as a reusable convention. | 2026-05-15 |
| PLAN-001: Tailscale variable cleanup and dead-file deletions | Shrink the Tailscale secret variable set from 8 to 5 (4 cluster-side OAuth values + 1 renamed cloud-init / VM-bootstrap key) and delete the dead-code files (internal-mode, 801-setup, 804-delete, AUTH_KEY template) ahead of the network CLI port. | 2026-05-15 |
PLAN-001: Gravitee organisation name driven by DEFAULT_ORGANIZATION_NAME | Replace Gravitee's chart-default organisation name (Default organization) with whatever value is configured in DEFAULT_ORGANIZATION_NAME. Default to UIS Local Dev for fresh installs. Apply the value at deploy time via a post-helm-install psql UPDATE against graviteedb.organizations. Drop-database test passes — no post-deploy management-API patching. | 2026-05-15 |
| Plan: AKS Step 1 — Verify minimal working cluster end-to-end | Take the unverified platforms/azure-aks/ OpenTofu drafts (merged 2026-04-09 via PR #120) through their first real end-to-end run against an Azure subscription, fix any gaps that surface, and earn the right to call AKS Step 1 actually shipped — by deploying ./uis deploy nginx against the resulting cluster and watching its built-in connectivity tests pass. | 2026-05-15 |
| --- | — | 2026-05-15 |
| Investigate: PostgREST as a UIS service | Decide whether and how to package PostgREST as a UIS service that turns a curated PostgreSQL schema into a public REST API, fitting the existing ./uis deploy flow and the contributor conventions in website/docs/contributors/. | 2026-05-15 |
Investigate: compress the AKS novice-onboarding flow with ./uis platform wrapper commands | — | 2026-05-15 |
| --- | — | 2026-05-15 |
| INVESTIGATE: Old Deployment System Cleanup & Documentation Gaps | The migration from the old deployment system (provision-host/kubernetes/) to the UIS CLI (provision-host/uis/) is functionally complete — all 30 services deploy through UIS. But the old system is still in the repo, creating confusion for anyone trying to understand how UIS works. Dead code undermines documentation — if someone sees 60 scripts in provision-host/kubernetes/, they can't tell which system is real. | 2026-05-15 |
| Investigate: Set Gravitee config correctly at deploy time (no post-deploy patching) | Close the in-scope gaps surfaced by the post-merge browser audit of Gravitee APIM 4.11 by setting every value correctly the first time — through chart values, helm flags, env vars, init containers, or custom Liquibase changesets — rather than by patching values via post-deploy management-API calls. The drop-database test (below) must pass: after wiping graviteedb and ./uis deploy gravitee, every in-scope audit-verified surface comes up correct without any subsequent management-API mutation. (Findings 6 SMTP and 7 admin-email are explicitly out-of-scope / non-actionable; see those sections.) | 2026-05-15 |
| Investigate: Enonic XP CMS Deployment | Determine the best approach for deploying Enonic XP as a UIS platform service | 2026-05-15 |
| Investigate: Elasticsearch Upgrade and Version Pinning | Upgrade Elasticsearch to 9.x and pin the version to prevent unexpected changes | 2026-05-15 |
| INVESTIGATE: Documentation Rewrite — Prototype for Auto-Generation | The documentation was written before the UIS CLI existed and is inconsistent — some service pages are 600+ lines with architecture diagrams, others are 100 lines. Some reference old ./scripts/packages/ paths, others use ./uis correctly. There's no standard template, no dependency information, and no UIS CLI reference. | 2026-05-15 |
| INVESTIGATE: Auto-Generated Documentation from Script Metadata | UIS inherited the script metadata pattern from DevContainer Toolbox (dct), but only uses it for the CLI menu (./uis list, ./uis deploy). In dct, the same metadata also auto-generates a full Docusaurus documentation website — tool pages, category indexes, package tables with links, and a tools overview. UIS has this potential but doesn't use it. | 2026-05-15 |
| Investigate: Backstage Developer Portal for UIS | Deploy Backstage as the developer portal for UIS, modeling all existing services in a software catalog | 2026-05-15 |
| INVESTIGATE: Authentik Automatic Deployment | Authentik deployment required a manual step before the playbook could run: | 2026-05-15 |
| Investigate: cluster visibility + switching across the UIS shell and commands | — | 2026-05-15 |
| PLAN-008: Service Migration Status & Remaining Work | Track migration status of all 26 UIS services and complete remaining work for services that are not fully migrated. | 2026-05-07 |
Fix: ./uis undeploy --purge --yes returns before namespace is fully deleted | Make ./uis undeploy gravitee --purge --yes block until the gravitee namespace is fully terminated, so an immediately-following ./uis deploy gravitee can re-create namespace resources without hitting HTTP 403 namespace … is being terminated. | 2026-05-07 |
| Fix: uis.ps1 Fails on Windows Due to $ErrorActionPreference = "Stop" | Fix PowerShell scripts so they don't crash when Docker writes to stderr on first run. | 2026-05-07 |
| Plan: uis configure --namespace + K8s Secret creation | Add --namespace and --secret-name-prefix flags to uis configure so DCT app templates with requires can deploy successfully — by ensuring the K8s Secret referenced in their deployment manifest exists in the target namespace. | 2026-05-07 |
| Plan: Transfer urbalurba-infrastructure to helpers-no | Transfer this repo from terchris/urbalurba-infrastructure to helpers-no/urbalurba-infrastructure with zero downtime. | 2026-05-07 |
| PLAN: Rename Tailscale hostname variables for clarity | Rename TAILSCALE_CLUSTER_HOSTNAME to TAILSCALE_PUBLIC_HOSTNAME and TAILSCALE_INTERNAL_HOSTNAME to TAILSCALE_OPERATOR_PREFIX to accurately describe what these UIS-invented variables actually control. | 2026-05-07 |
| PLAN: Rename "Packages" to "Services" in Documentation | — | 2026-05-07 |
Feature: PostgREST --schemas flag with wipe-and-rewrite reconciliation | Extend ./uis configure postgrest to expose multiple PostgreSQL schemas via a single PostgREST instance, with deterministic reconfigure semantics. | 2026-05-07 |
| Deploy OpenMetadata | Deploy OpenMetadata 1.12.1 as a UIS platform service using the official Helm chart, reusing existing PostgreSQL and Elasticsearch | 2026-05-07 |
| Deploy Nextcloud + OnlyOffice | Deploy Nextcloud 33 with OnlyOffice Document Server as a UIS platform service, reusing existing PostgreSQL and Redis | 2026-05-07 |
| PLAN: "How Deployment Works" Documentation Page | — | 2026-05-07 |
| Plan: Gravitee APIM 4.11 deployment on PostgreSQL | After this plan, ./uis deploy postgresql && ./uis deploy gravitee on a fresh local cluster produces a working Gravitee APIM 4.11 deployment with admin Console, Developer Portal, and API Gateway, backed by PostgreSQL — no MongoDB, no Elasticsearch, no Redis. ./uis undeploy gravitee --purge cleanly tears down all Gravitee state. | 2026-05-07 |
Feature: System-wide DEFAULT_AUTOSCALING toggle, adopted first by Gravitee | Introduce a system-wide DEFAULT_AUTOSCALING knob in default-secrets.env, propagate it through every setup playbook via ansible extra-vars, and adopt it in Gravitee as the first consumer. With the knob's default value (false), ./uis deploy gravitee produces 4 pods (one each: api, gateway, ui, portal) and zero HPAs. Future autoscaling-aware services (openwebui, jupyterhub, …) adopt the same knob with a 2-line playbook change each. | 2026-05-07 |
| PLAN: Fix Password Architecture — Connect Orphaned Defaults to Templates | Make default-secrets.env the true single source of truth — all DEFAULT_ variables must flow through to templates, and no credentials should be hardcoded in templates. | 2026-05-07 |
| PLAN: Documentation Site Restructure — Add "Developing and Deploying" Section | Add a "Developing and Deploying" section to the documentation site with 5 new pages covering the developer workflow from template to deployment, and restructure the sidebar to group infrastructure topics under "Advanced". | 2026-05-07 |
| PLAN: Documentation Gap Filling | — | 2026-05-07 |
| PLAN: Dev Template Ingress Cleanup After Platform-Managed Routing | Remove redundant ingress.yaml and obsolete urbalurba-scripts/ from dev templates — routing is now the platform's responsibility. | 2026-05-07 |
Feature: Add ./uis pull command | Add a ./uis pull command to the repo-root wrapper that pulls the latest container image and restarts the container | 2026-05-07 |
| PLAN: Cloudflare tunnel fixes — reduce replicas, clean up deploy output, create undeploy playbook | Reduce Cloudflare tunnel from 2 replicas to 1, clean up confusing deploy output, and create 821-remove-network-cloudflare-tunnel.yml so ./uis undeploy cloudflare-tunnel works. | 2026-05-07 |
| PLAN: ArgoCD Register Command Redesign | Redesign uis argocd register to accept two required parameters (<name> and <repo-url>) instead of a single bare repo name, eliminating the GitHub username secrets dependency and preventing invalid namespace names. | 2026-05-07 |
| PLAN: ArgoCD Migration Completion | Complete ArgoCD migration to the UIS system — fix metadata, verify deployment with E2E tests, and document the devcontainer-toolbox integration path. | 2026-05-07 |
| PLAN: Auto-Generate Service Documentation from Script Metadata | Build a bash script that auto-generates service documentation pages from script metadata, using the manually written PLAN-014 pages as the template specification. | 2026-05-07 |
| PLAN: Documentation Rewrite — Category Renames, Templates, and Service Pages | Standardize all service documentation using a consistent template, rename categories to align with cloud provider terminology, and create foundation docs (CLI reference, dependency matrix). This rewrite becomes the prototype and specification for future auto-generated documentation. | 2026-05-07 |
PLAN-013: ./uis test-all — Full Integration Test Command | Automate the full integration test as ./uis test-all — runs the same ./uis deploy/./uis undeploy commands the manual tester runs, for all 23 services. | 2026-05-07 |
| PLAN-012: Token-Based Cloudflare Tunnel Deployment | Deploy Cloudflare tunnel via ./uis deploy cloudflare-tunnel using a token-based approach that follows the same secrets pattern as all other UIS services. | 2026-05-07 |
| PLAN-011: Tailscale CLI Commands (expose/unexpose/verify) | Group all Tailscale operations under ./uis tailscale — expose/unexpose services and verify configuration — so users don't need to enter the shell or know internal script paths. | 2026-05-07 |
| PLAN-009: Fix Tailscale Service for UIS | Make ./uis deploy tailscale-tunnel and ./uis undeploy tailscale-tunnel work correctly end-to-end. | 2026-05-07 |
| PLAN-007: Authentik Automatic Secrets Application | Make Authentik deployment fully automatic by applying secrets at the start of the playbook, eliminating the need for manual kubectl apply before deployment. Extended to include end-to-end authentication testing. | 2026-05-07 |
| PLAN-005: Migrate Playbooks to New Kubeconfig Path | — | 2026-05-07 |
| PLAN-004F: Build and Test UIS System | — | 2026-05-07 |
| PLAN-004E: JSON Schema Validation Framework | — | 2026-05-07 |
| PLAN-004D: Website JSON Generation & Testing Framework | Create JSON generation for website service catalog, deploy tests, and CI/CD integration. | 2026-05-07 |
| PLAN-004C: Distribution & Cross-Platform Support | Create curl-installable script and cross-platform wrapper scripts for UIS distribution. | 2026-05-07 |
| PLAN-004B: Interactive Menu & Secrets Management | Add interactive TUI menu, init wizard, and secrets management to UIS. | 2026-05-07 |
| PLAN-004A: UIS Core CLI System | Create the foundation libraries, service scanner, config system, and basic CLI commands for UIS. | 2026-05-07 |
| PLAN-004: UIS Orchestration System | Create a DCT-inspired orchestration system for UIS with config-driven deployment, interactive menu, and install script. | 2026-05-07 |
| PLAN-004: Secrets Migration Cleanup & Finalization | Remove backwards compatibility code, delete deprecated files (topsecret/, secrets/), and update tests. The new .uis.secrets/ and .uis.extend/ structure is fully operational — this plan removes the old scaffolding. | 2026-05-07 |
| PLAN-003: Migrate Scripts to New Secrets Paths | Update all scripts in the repo that reference topsecret/ or secrets/ to use the new .uis.secrets/ paths, while maintaining backwards compatibility. | 2026-05-07 |
| PLAN-003: Minimal Container Delivery | Create a working container-as-deliverable with minimal changes to prove the concept. | 2026-05-07 |
| PLAN-002: UIS CLI Commands for Secrets Management | Implement the CLI commands for managing hosts and secrets (./uis host add, ./uis secrets status, etc.) | 2026-05-07 |
| Plan: Generate JSON Data from Script Metadata | Create a script that generates services.json and optionally stacks.json by scanning metadata embedded in shell scripts. | 2026-05-07 |
PLAN-002: Replace DB-baked portalEntrypoint placeholder with a relative path | — | 2026-05-07 |
| PLAN-002: Deploy Backstage (RHDH) as a UIS Service | Deploy Red Hat Developer Hub (RHDH) in UIS following the adding-a-service guide, with the generated catalog loaded, the Kubernetes plugin showing live service status, and the Grafana plugin linking services to their dashboards | 2026-05-07 |
| Plan: UIS Configure and Expose Commands | Implement uis configure and uis expose commands so DCT templates can create per-app databases/users and reach K8s services from the devcontainer. | 2026-05-07 |
| PLAN-001: Secrets Templates & Initialization Code | Create the templates and initialization code that will generate .uis.extend/ and .uis.secrets/ folders when users run the UIS system. | 2026-05-07 |
| Plan: PostgREST service documentation (consumer validation) | Produce the PostgREST service documentation page using the established UIS workflow (metadata in service-postgrest.sh → generator stub → hand-augmented sections), then have the Atlas developer review it. Their feedback either unblocks implementation or sends the design back to the investigate. | 2026-05-07 |
| Plan: Set Up UIS Branding | Establish complete branding assets for the UIS documentation site. | 2026-05-07 |
| PLAN-001: Backstage Metadata Enrichment and Catalog Generator | Add SCRIPT_KIND, SCRIPT_TYPE, SCRIPT_OWNER metadata fields to all service definitions and build a catalog generator that produces Backstage-compatible YAML from them | 2026-05-07 |
| INVESTIGATE: Playbooks Using Old Kubeconfig Path | — | 2026-05-07 |
| INVESTIGATE: Unity Catalog CrashLoopBackOff | — | 2026-05-07 |
| INVESTIGATE: uis.ps1 Fails on Windows Due to $ErrorActionPreference = "Stop" | This is Windows PowerShell-specific — there is no uis.sh bash host wrapper (only uis-cli.sh which runs inside the container). | 2026-05-07 |
| Investigation: UIS Distribution Architecture | Design a container-based distribution model for UIS. | 2026-05-07 |
INVESTIGATE: Remove All topsecret/ References from Codebase | — | 2026-05-07 |
| INVESTIGATE: Rename Tailscale hostname variables and fix misleading comments | Rename UIS-invented Tailscale hostname variables for clarity, and fix misleading comments in the secrets template. | 2026-05-07 |
| INVESTIGATE: Tailscale Cluster-Wide Tunnel Connectivity Timeout | Diagnose and fix the cluster-wide Tailscale tunnel connectivity timeout (k8s.dog-pence.ts.net). | 2026-05-07 |
| INVESTIGATE: Tailscale API Integration for Device Cleanup and Verification | Use the Tailscale API to clean up stale devices during deletehost/undeploy, and add a uis verify tailscale command to check prerequisites before deployment. | 2026-05-07 |
| INVESTIGATE: Secrets Management Consolidation | Secrets are currently scattered across multiple folders with inconsistent naming and unclear responsibilities. This makes it confusing for users and complicates container mounting. | 2026-05-07 |
| INVESTIGATE: Rancher Reset and Full Service Verification | — | 2026-05-07 |
Investigate: PostgREST --schemas flag and reconfigure semantics | Decide what ./uis configure postgrest --app <name> --schemas <list> means when called more than once with a changing list. The single-schema handler that PLAN-002 shipped never had to reconcile across calls; multi-schema does. | 2026-05-07 |
| INVESTIGATE: Password Architecture | — | 2026-05-07 |
| Investigate: OpenMetadata Deployment | Determine the best approach for deploying OpenMetadata as a UIS platform service | 2026-05-07 |
| INVESTIGATE: Old Deployment System & UIS Migration | — | 2026-05-07 |
| Investigate: Nextcloud Deployment | Determine the best approach for deploying Nextcloud as a UIS platform service | 2026-05-07 |
| INVESTIGATE: Network Services Remove Playbooks | Investigate the full state of tailscale-tunnel and cloudflare-tunnel services — verify deploy works, create remove playbooks, and test the full deploy/undeploy cycle. | 2026-05-07 |
| Investigate: Deploy Gravitee APIM 4.11 on PostgreSQL with a minimal footprint | Deploy Gravitee API Management on the UIS local cluster as a working API gateway with admin UI, using PostgreSQL as the management store and no Elasticsearch / no Redis / no MongoDB, on the smallest sustainable resource footprint. | 2026-05-07 |
| INVESTIGATE: Documentation Site Restructure — Add "Developing and Deploying" Section | The documentation site at https://uis.sovereignsky.no has no section explaining how developers build and deploy their own applications on the platform. The current sidebar covers infrastructure setup (Getting Started, Hosts, Packages, Provision Host) and contributor guidelines, but nothing about the developer workflow: creating a project from a template, building with GitHub Actions, deploying with ArgoCD, and managing applications. | 2026-05-07 |
| Investigate: Documentation Restructuring for Docusaurus | Determine what documentation improvements are needed and prioritize them. | 2026-05-07 |
| INVESTIGATE: Dev Template IngressRoute Cleanup After Platform-Managed Routing | Now that uis argocd register creates a platform-managed IngressRoute (HostRegexp(<app_name>..+)), repos no longer need to ship their own ingress manifests. Three things need updating: | 2026-05-07 |
| Investigate: UIS Container Pull Command | Add a ./uis pull command that pulls the latest provision-host container image and restarts the container | 2026-05-07 |
| INVESTIGATE: Cloudflare Tunnel UIS Integration | Make Cloudflare tunnel work through the UIS CLI with a similar operator experience as Tailscale, while respecting the architectural differences between the two. | 2026-05-07 |
| INVESTIGATE: ArgoCD Register Command Redesign | No backward compatibility needed — system is not yet released. | 2026-05-07 |
| INVESTIGATE: ArgoCD Migration & Cleanup | — | 2026-05-07 |
| Investigation: How to Add a New Service to UIS | Document the complete lifecycle of adding a new service to the UIS platform — from service definition to deployment, secrets, removal, and documentation. | 2026-05-07 |