Skip to content

fix: remove stale demo catalog locations - #129

Merged
johnnyhuy merged 1 commit into
mainfrom
agent/issue-128-remove-stale-catalog-locations
Nov 13, 2026
Merged

johnnyhuy merged 1 commit into
mainfrom
agent/issue-128-remove-stale-catalog-locations

Conversation

@johnnyhuy

@johnnyhuy johnnyhuy commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Fresh demo installs tried to load three missing catalogue files from both the local starter and production configuration. Remove those stale locations and keep examples/all.yaml as the aggregate entry point, with regression coverage for every configured file location.

Part of #85.
Closes #128.

This is a configuration and test slice. No page, layout or plugin registration changed, so a screenshot is not applicable. The configuration diff and test transcripts below are the behaviour evidence.

Verified locally

  • mise run install passed with existing peer dependency warnings. The YAML parser is an explicit backend test dependency using the version already in the lockfile.
  • mise run lint passed across all five packages.
  • mise run test -- --runInBand --verbose passed 43 tests in seven suites. One existing test remains skipped in one skipped suite.
  • mise run build was attempted once and blocked by the unavailable local Docker daemon. The required Build workflow must pass the Docker gate before merge.
  • git diff --check passed.

The new catalogLocations.test.ts cases parse both real YAML configs without substituting production secrets, resolve file locations from packages/backend, check each file is readable and non-empty, and assert both configs still load the aggregate sample catalogue. Before changing the configs, mise run test -- --runInBand --verbose catalogLocations failed on all six stale references, proving the test detects this regression.

Before the config fix
FAIL backend packages/backend/src/catalogLocations.test.ts
  app-config.example.yaml catalog locations
    ✕ can read the file location ../../examples/entities.yaml
    ✕ can read the file location ../../examples/org.yaml
    ✕ can read the file location ../../examples/acme-corp.yaml
  app-config.production.yaml catalog locations
    ✕ can read the file location ../../examples/entities.yaml
    ✕ can read the file location ../../examples/org.yaml
    ✕ can read the file location ../../examples/acme-corp.yaml
Test Suites: 1 failed, 1 total
Tests:       6 failed, 5 passed, 11 total

After the config fix
PASS backend packages/backend/src/catalogLocations.test.ts
  app-config.example.yaml catalog locations
    ✓ loads the aggregate sample catalog
    ✓ can read the file location ../../default-catalog/catalog-info.yaml
    ✓ can read the file location ../../examples/all.yaml
  app-config.production.yaml catalog locations
    ✓ loads the aggregate sample catalog
    ✓ can read the file location ../../examples/all.yaml
Test Suites: 1 skipped, 7 passed, 7 of 8 total
Tests:       1 skipped, 43 passed, 44 total

[lint] $ ./scripts/lint
Checked   2 files in packages/backend
Checked   3 files in plugins/permission-backend-module-default
Checked   1 files in packages/backstage-theme-github
Checked   8 files in plugins/plausible
Checked  51 files in packages/app

[build] $ docker compose build backstage
Cannot connect to the Docker daemon at unix:///Users/johnny/.docker/run/docker.sock. Is the docker daemon running?
[build] ERROR task failed

The retained aggregate location includes guest users, groups, templates and the Acme sample entities. Existing app-config.local.yaml copies are preserved by mise run install; if they still contain the deleted locations, remove those same entries manually. This test checks top-level file locations and does not claim to exercise catalogue ingestion, wildcard expansion or a deployed demo. Public demo verification and the remaining parent-epic work stay open.

The final-head Build workflow passed mise run install, mise run lint, mise run test and mise run build on 0b8b145. The Docker gate is verified in CI despite the unavailable local daemon. CodeQL, actions analysis and both Socket Security checks also passed. The regression proof comment preserves the new test names and passing transcript.

Load sample entities through examples/all.yaml and check configured file locations exist before they reach a demo deployment.

Co-authored-by: OpenAI Codex <noreply@openai.com>
@johnnyhuy

Copy link
Copy Markdown
Contributor Author

Configuration and regression proof for 0b8b145.

The new checks reproduced six missing-file failures before the fix. After the fix, mise run test -- --runInBand --verbose reported the following.

PASS backend packages/backend/src/catalogLocations.test.ts
  app-config.example.yaml catalog locations
    ✓ loads the aggregate sample catalog (5 ms)
    ✓ can read the file location ../../default-catalog/catalog-info.yaml (1 ms)
    ✓ can read the file location ../../examples/all.yaml
  app-config.production.yaml catalog locations
    ✓ loads the aggregate sample catalog
    ✓ can read the file location ../../examples/all.yaml (1 ms)
Test Suites: 1 skipped, 7 passed, 7 of 8 total
Tests:       1 skipped, 43 passed, 44 total

mise run install and mise run lint also passed locally. No visual surface changed, so screenshot capture is not applicable to this configuration and test slice. The local mise run build attempt was blocked by the unavailable Docker daemon; the final-head Build workflow is running the Docker gate in CI.

@johnnyhuy

Copy link
Copy Markdown
Contributor Author

Final-head CI passed on 0b8b145. The Build workflow completed mise run install, mise run lint, mise run test and mise run build successfully. This resolves the local Docker verification gap. CodeQL, actions analysis and both Socket Security checks are green. Regression proof and new test names are recorded above. No screenshot applies to this configuration and test slice.

@johnnyhuy
johnnyhuy merged commit 2cdb9eb into main Nov 13, 2026
5 checks passed
@johnnyhuy
johnnyhuy deleted the agent/issue-128-remove-stale-catalog-locations branch November 13, 2026 04:06
@johnnyhuy

Copy link
Copy Markdown
Contributor Author

Merged during the scheduled sweep as 2cdb9eb; child #128 is now closed and parent #85 remains open. Verified the merged main tip locally with mise run install (passed with existing peer dependency warnings), mise run lint (passed), and mise run test -- --runInBand --verbose (7 suites passed, 43 tests passed, 1 existing test skipped). mise run build was attempted once and blocked by the unavailable local Docker daemon. The final-head CI Docker build linked in the PR body passed. No user-facing surface changed; the configuration diff and regression transcript remain the proof. Deleted the merged remote and local agent branch, preserved its old worktree files, and left the current worktree clean at origin/main. Release PR #109 was skipped. No new slice was started under the one-agent-PR lease.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove deleted catalog locations from the demo configuration

1 participant