Files
cc-ci/machine-docs/BACKLOG-cfold.md
autonomic-bot 574306ea9c
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
chore(cfold): init Adversary state files + pre-migration baseline inventory
2026-06-11 22:55:30 +00:00

5.5 KiB

BACKLOG — phase cfold

Build backlog

(Builder-only section — read-only to Adversary)

Adversary findings

No findings yet. Pre-migration baseline recorded below for reference during M1 verification.

Baseline inventory (pre-migration, 2026-06-11T22:54Z)

64 custom test files across 20 recipes, all in functional/ or playwright/ subdirs:

Recipe functional/ playwright/ Helper modules
bluesky-pds 4 0
cryptpad 2 2
custom-html 3 1
custom-html-tiny 1 0
discourse 3 0 _discourse.py
drone 1 0 init.py
ghost 4 0 _ghost.py
hedgedoc 2 0
immich 3 0
keycloak 3 0
lasuite-docs 5 0
lasuite-drive 3 0
lasuite-meet 3 0
mailu 3 0 _mailu.py
matrix-synapse 3 0
mattermost-lts 3 0 _mm.py
mumble 5 0 _mumble_proto.py
n8n 4 0
plausible 2 0
uptime-kuma 3 1
TOTAL 59 5 6 helper modules

Full file list (64 test files):

tests/bluesky-pds/functional/test_account_and_post.py
tests/bluesky-pds/functional/test_describe_server.py
tests/bluesky-pds/functional/test_health_check.py
tests/bluesky-pds/functional/test_session_auth.py
tests/cryptpad/functional/test_health_check.py
tests/cryptpad/functional/test_spa_assets.py
tests/cryptpad/playwright/test_pad_content_roundtrip.py
tests/cryptpad/playwright/test_pad_create.py
tests/custom-html/functional/test_content_roundtrip.py
tests/custom-html/functional/test_content_type_header.py
tests/custom-html/functional/test_health_check.py
tests/custom-html/playwright/test_browser_smoke.py
tests/custom-html-tiny/functional/test_serves_content.py
tests/discourse/functional/test_create_topic.py
tests/discourse/functional/test_health_check.py
tests/discourse/functional/test_site_basic.py
tests/drone/functional/test_scm_configured.py
tests/ghost/functional/test_admin_redirect.py
tests/ghost/functional/test_content_api.py
tests/ghost/functional/test_health_check.py
tests/ghost/functional/test_post_roundtrip.py
tests/hedgedoc/functional/test_branding.py
tests/hedgedoc/functional/test_health_check.py
tests/immich/functional/test_asset_processing.py
tests/immich/functional/test_asset_upload.py
tests/immich/functional/test_health_check.py
tests/keycloak/functional/test_create_client_and_use.py
tests/keycloak/functional/test_health_check.py
tests/keycloak/functional/test_password_grant_token.py
tests/lasuite-docs/functional/test_auth_required.py
tests/lasuite-docs/functional/test_create_doc.py
tests/lasuite-docs/functional/test_health_check.py
tests/lasuite-docs/functional/test_oidc_login.py
tests/lasuite-docs/functional/test_oidc_with_keycloak.py
tests/lasuite-drive/functional/test_health_check.py
tests/lasuite-drive/functional/test_minio_storage.py
tests/lasuite-drive/functional/test_oidc_with_keycloak.py
tests/lasuite-meet/functional/test_health_check.py
tests/lasuite-meet/functional/test_meeting_flow.py
tests/lasuite-meet/functional/test_oidc_with_keycloak.py
tests/mailu/functional/test_health_check.py
tests/mailu/functional/test_mailbox.py
tests/mailu/functional/test_mail_flow.py
tests/matrix-synapse/functional/test_federation_version.py
tests/matrix-synapse/functional/test_health_check.py
tests/matrix-synapse/functional/test_register_and_message.py
tests/mattermost-lts/functional/test_create_message.py
tests/mattermost-lts/functional/test_health_check.py
tests/mattermost-lts/functional/test_multiuser_message.py
tests/mumble/functional/test_protocol_handshake.py
tests/mumble/functional/test_server_config_limits.py
tests/mumble/functional/test_tcp_health.py
tests/mumble/functional/test_web_client.py
tests/mumble/functional/test_welcome_text_roundtrip.py
tests/n8n/functional/test_health_check.py
tests/n8n/functional/test_login_state.py
tests/n8n/functional/test_rest_settings.py
tests/n8n/functional/test_workflow_roundtrip.py
tests/plausible/functional/test_health_check.py
tests/plausible/functional/test_event_tracking.py
tests/uptime-kuma/functional/test_health_check.py
tests/uptime-kuma/functional/test_socketio_handshake.py
tests/uptime-kuma/functional/test_spa_branding.py
tests/uptime-kuma/playwright/test_monitor_wizard.py

Helper modules also in functional/ dirs (must move to custom/ alongside tests):

  • tests/discourse/functional/_discourse.py
  • tests/drone/functional/init.py
  • tests/ghost/functional/_ghost.py
  • tests/mailu/functional/_mailu.py
  • tests/mattermost-lts/functional/_mm.py
  • tests/mumble/functional/_mumble_proto.py

String literal audit — all places that name the FOLDER (not the playwright package):

  • runner/harness/discovery.py:113 — subdirs = ("functional", "playwright")
  • runner/harness/manifest.py:55 — comment # functional | playwright
  • docs/recipe-customization.md — multiple §5.3 references
  • docs/enroll-recipe.md — multiple references
  • docs/testing.md:117,120 — placement rule
  • tests/unit/test_discovery_phase2.py — creates functional/ and playwright/ dirs
  • tests/unit/test_manifest.py — creates functional/ and playwright/ dirs; asserts {"functional": 2, "playwright": 1}
  • tests/unit/test_discovery.py:83,84 — creates functional/ dirs

NOT to touch (playwright package references, not folder):

  • runner/harness/browser.py (playwright package import)
  • runner/harness/screenshot.py (playwright package import)
  • runner/harness/card.py:232 (playwright package import)
  • level.py, results.py (rung name "functional" — NOT a folder name)