129 lines
5.5 KiB
Markdown
129 lines
5.5 KiB
Markdown
# 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)
|