Commit Graph
1042 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Sonnet 4.6 3f9e3b0179 docs(agents): clarify --no-verify scope and apply RFC 2119 keywords
Permission to use --no-verify is single-use per commit. Generic commit
requests MUST NOT qualify. Applied MUST/MUST NOT conventions consistently.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 00:36:14 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 c48ee9ddbf docs(security): add GHCR authentication setup guide and cross-links
Document PAT creation, secret configuration, fork PR restrictions,
and troubleshooting. Link from ci.md and repository.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 22:39:23 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 b3afb96706 docs(agents): clarify --no-verify policy in commit instructions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 17:03:30 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 821c3c53b6 feat(pre-commit): introduce pre-commit hook enforcement and modular environment test suite
- Add .pre-commit-config.yaml running make test on non-doc changes
- Add pre-commit to pyproject.toml dev dependencies
- Add scripts/install/pre-commit.sh for hook registration
- Add install-python-dev Makefile target; wire into environment-bootstrap
- Rename setup-development → mark-development (env.ci override marker)
- Refactor scripts/tests/environment.sh into modular 00–10 scripts with orchestrator
- Add 09_commit.sh validating pre-commit enforcement and --no-verify bypass
- Update docs/agents/action/commit.md and testing.md for new hook behavior
- Update makefile.md, setup.md, installation.md accordingly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 16:58:24 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 769e3079d9 fix(pr): allow dependabot branch prefix for full CI scope
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 15:40:45 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 2a5503c185 docs(installation): link to Makefile commands, environment script, and CONTRIBUTING.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 15:35:06 +02:00
kevinveenbirkenbach da1f8d90a1 Merge remote-tracking branch 'origin/feature/taiga-ldap' into feature/service-refactoring 2026-04-06 12:52:52 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 fa84535cf0 docs(agents): enforce serial deploy execution in iteration loop
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 19:54:42 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 9095a54b3d docs(agents): require make test before every deploy in iteration loop
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:54:15 +02:00
kevinveenbirkenbach e5a30262aa docs(requirements): clarify service registry refactoring rules 2026-04-02 01:12:29 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 bc20b295dd docs(requirements): require simplification of all touched files per principles.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:05:51 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 d5fbd741bc docs(requirements): add service registry refactoring requirement
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:02:43 +02:00
kevinveenbirkenbach 0928e0ca37 docs(requirements): add contribution and agent requirement guides 2026-04-01 23:23:30 +02:00
kevinveenbirkenbach a639768f4c docs(agents): mark applications defaults as generated 2026-04-01 22:47:49 +02:00
kevinveenbirkenbach b906f6869a docs(tests): forbid text-presence regression guards 2026-04-01 22:26:03 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 ef7affff70 docs: link security policies from SECURITY.md, pull-request.md, branch.md, and workflow.md
Adds a Repository Security Policies section to SECURITY.md pointing to
the new branch protection and repository settings docs, fixes Matrix and
phone contacts to proper hyperlinks, and cross-links the security policy
files from pull-request.md, branch.md, and workflow.md. Applies
documentation.md rules to all touched files (RFC 2119 usage, emoji
placement, link text).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 17:48:13 +02:00
kevinveenbirkenbach 070346b0d9 docs(agents): prefer make exec before redeploys 2026-04-01 16:15:01 +02:00
kevinveenbirkenbach c163b6d151 docs(agents): require fresh purge after dns failures 2026-04-01 16:03:55 +02:00
kevinveenbirkenbach 782162e385 agent: document serial unit test execution 2026-04-01 14:44:38 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 89cd0c16ff docs: add no-emoji rule for docs/agents/ headlines in documentation.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 13:01:14 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 eb75859905 docs: extract testing rules into docs/agents/action/testing.md and add TEST_PATTERN examples
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 12:55:54 +02:00
kevinveenbirkenbach 9ccdde2b5b refactor(services): extract shared frontend service loader role 2026-04-01 04:05:44 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 a2d844e798 refactor: move frontend service loading out of sys-front-inj-all into global stage
Extracts the shared frontend service loader from sys-front-inj-all into
tasks/utils/load_services.yml and tasks/utils/_load_frontend_service.yml,
called once from tasks/stages/02_server.yml before web-svc and web-app
roles. This decouples service loading from per-app injection and makes
load order explicit via SERVICE_REGISTRY entry order. Updates docs,
comments, and adds an integration test enforcing the new SPOT.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 03:30:19 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 8a94f037b1 docs: fallback to curl -k when make trust-ca lacks root permissions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 01:24:58 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 66f18001d0 docs: allow multiple APPS roles and rename placeholder to <roles>
Add note that multiple apps can be passed space-separated to APPS to speed up debugging. Replace all <role> placeholders with <roles> for consistency.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 00:01:27 +02:00
kevinveenbirkenbach 862493f4e2 Refactor network stack refresh helpers 2026-03-31 23:55:35 +02:00
kevinveenbirkenbach 03c58e24bf Refine IPv6 disable flow for local development 2026-03-31 23:33:14 +02:00
kevinveenbirkenbach 00193b4a23 Rename the canonical services map to SERVICE_REGISTRY 2026-03-31 21:43:29 +02:00
kevinveenbirkenbach 9cbb12d540 Propagate host MTU to the local compose network 2026-03-31 21:00:51 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 7d05ba0a92 docs: add make disable-ipv6 / restore-ipv6 to network debugging guide
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 19:35:11 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 79ca7137da docs: restructure debugging and CI flow documentation
- Rename continuous_integration.md to ci.md
- Move debugging.md into debugging/ci.md and apply documentation standards
- Add debugging/network.md with Docker pull error guidance (MTU, IPv6, connectivity)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 19:21:38 +02:00
kevinveenbirkenbach b46337df52 Document iframe reload handling for Playwright agents 2026-03-31 17:28:37 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 e8de7cb7dc docs: add communication guidelines and link from SUPPORT.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 15:28:04 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 e7bbc01e9c docs: add continuous integration flow documentation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 15:14:46 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 b8b65d1a33 docs: add Code of Conduct, Investor Relations, and headline emoji conventions
- Add Code of Conduct section to README.md with link to CODE_OF_CONDUCT.md
- Add Invest section to README.md linking to Investor Relations in SUPPORT.md
- Add Investor Relations section to SUPPORT.md with contact details and meeting link
- Add emojis to all headings in SUPPORT.md and docs/contributing/documentation.md
- Add Headlines section to documentation.md defining emoji placement convention

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 15:09:58 +02:00
kevinveenbirkenbach dbc4dc7485 documentation/update contributing guide links and sphinx index 2026-03-30 23:03:47 +02:00
kevinveenbirkenbach b199d08745 docs(workflows): clarify act matrix filtering 2026-03-30 20:29:28 +02:00
kevinveenbirkenbach 02a20617eb docs(agents): prefer single distro workflow iteration 2026-03-30 20:17:14 +02:00
kevinveenbirkenbach f9be24cc5b docs(agents): recommend act workflow iteration 2026-03-30 20:02:36 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 10b889e76f refactor(deploy): single deploy-fresh-purged-apps target with FULL_CYCLE flag
Consolidates into one target. FULL_CYCLE defaults to false (deploy only);
set FULL_CYCLE=true for deploy + update pass. Extracts run_pass function
in fresh-purged-app.sh to eliminate duplicated init+deploy logic. Updates
makefile.md, playwright.md, iteration.md, and environment.sh with correct
FULL_CYCLE usage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:14:44 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 ce27e05e3d docs(services): document css/javascript services, canonical field, and CDN loading
Updates services.md to cover shared-role entries (cdn/css/javascript),
the canonical field rules, bidirectional lookup behaviour, and links to
the new integration/lint tests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 16:01:33 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 9eab315577 fix(matomo): disable inj_enabled.matomo when token unavailable, remove redundant CDN task
Sets inj_enabled.matomo=false when the Matomo token is empty so the NGINX
template skips body/head snippets and avoids 'matomo_site_id is undefined'.
Removes the explicit CDN load task — CDN is now covered by the generic
frontend service loader in 01_services.yml (loaded only when needed).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 11:33:57 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 2457d0e13c docs(playwright): add recording section and remove duplicated requirements
- Add Recording Tests section: Playwright codegen (built-in) and
  playwright-recorder (Docker/X11-based) with usage examples
- Replace duplicated spec/env requirement blocks with links to their
  SPOT pages in docs/agents/files/role/
- Extend Development Procedure to include optional recording step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 10:55:19 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 33eebcae7c fix(matomo): skip injection gracefully when token is not yet available
Splits injection logic into inject.yml and guards execution via main.yml
when the Matomo API token is empty (e.g. first deployment or bootstrap not
yet run). Documents the exception and its retry behaviour in
docs/contributing/code/exceptions.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 10:00:40 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 c533d9a6fb docs(architecture): add hyperlinks, RFC 2119 keywords, and services.md reference
Convert backtick path references to clickable hyperlinks, apply MUST/SHOULD
language where appropriate, and link to services.md and workflow.md as SPOTs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 08:39:12 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 96649d8c9b refactor(services): centralize frontend service loading with generic lookup plugin
Introduces a SPOT for all frontend service loading in sys-front-inj-all/tasks/01_services.yml,
driven by a new generic `service` lookup plugin that resolves services by key or role name
and returns {id, role, enabled, shared, needed}. Needed = enabled AND shared (direct or
transitive). The canonical key→role mapping moves to group_vars/all/20_services.yml
(previously scattered hardcoded rules). Removes per-role service loads from bigbluebutton,
nextcloud, and dashboard. Renames 01_dependencies.yml→01_services.yml and
08_services.yml→08_daemons.yml. Adds flush_handlers after each service load.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 08:27:21 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 a50c90c733 fix(deploy): resolve SERVICES_DISABLED service names to app IDs and verify inventory
- deploy.py: use find_provider_roles() to map service names (e.g. 'matomo')
  to provider app IDs (e.g. 'web-app-matomo') before filtering deploy_ids;
  forward SERVICES_DISABLED into the container via extra_env
- container.sh: rename INSPECT_CMD to CMD for consistency; fix indentation
- Makefile: expose CMD variable on exec target for non-interactive use
- environment.sh: source scripts/meta/env/all.sh for INVENTORY_DIR; add
  inventory verification after SERVICES_DISABLED deploy using make exec
- variables.md: document CMD variable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 01:26:44 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 dca1eb69c7 docs: remove README.md files under docs/ and add lint check
Replace per-directory README.md index files with automatic glob toctree
in root index.rst (docs/**). Add lint test that fails if any README.md
appears under docs/. Document the no-README rule in documentation.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 21:16:15 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 846e975876 docs(flow): restructure branch.md headings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 20:51:15 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 ffa8e44920 docs(flow): add cross-links to branch, PR, testing and review docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 20:41:08 +02:00