Repository navigation
feat(wordpress-chat): opt-in --wordpress-chat-agent activation for the WordPress runtime-chat pipeline (#779) - #784
Merged
Conversation
…e WordPress runtime-chat pipeline (#779)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds one opt-in setup/upgrade flag, --wordpress-chat-agent <slug>, that activates the merged #772/#773 WordPress-native chat pipeline as a unit: runtime-chat adapter config (slug -> runtime ID), a shared signing secret minted once into a 0600 env file loaded by both the Roadie unit and a new managed inbound-event-connector service (systemd + launchd), ROADIE_PLATFORM=discord,wordpress on the rendered Roadie service, and a wordpress:<context> entry in channels.yaml so ensureRuntime() admits the bound context. Without the flag every hook is inert and rendered output is byte-identical (existing bridge-render snapshots unchanged).
What changed
How to test
bash tests/ci-coverage.sh; expect passes as recorded by Cook's deterministic gate.bash tests/roadie-managed-env.sh; expect passes as recorded by Cook's deterministic gate.bash tests/ai-gateway.sh; expect passes as recorded by Cook's deterministic gate.node tests/roadie-wordpress-platform.mjs; expect passes as recorded by Cook's deterministic gate.python3 tests/inbound-event-connector.py; expect passes as recorded by Cook's deterministic gate.bash -c 'ls tests/wordpress-chat-activation.* >/dev/null && for t in tests/wordpress-chat-activation.*; do bash $t || exit 1; done'; expect passes as recorded by Cook's deterministic gate.Compatibility
Fully backward compatible. Without --wordpress-chat-agent (and without a previously written env file) no behavior changes and rendered systemd/launchd output is byte-identical — bridge-render golden snapshots pass unmodified. Once opted in, the 0600 env file is the durable record: upgrades converge without repeating the flag and never regenerate the secret. channels.yaml edits are text-preserving with a pending-item fallback instead of rewriting the operator file. VERSION and CHANGELOG untouched as instructed.
Evidence
bash tests/ci-coverage.sh: status=succeeded; candidate commitd55b2a9654c62e849b38dc472a28dce4c31d785b, treed3ec4f90b396923c58557e8deb1a7e7db16f3ceb, fingerprintc4f4f59e2c2ebcd6d4e4fe9428f39f33b0203934f4de630c74841301d54bfa0f; durable gategate-1bash tests/roadie-managed-env.sh: status=succeeded; candidate commitd55b2a9654c62e849b38dc472a28dce4c31d785b, treed3ec4f90b396923c58557e8deb1a7e7db16f3ceb, fingerprintc4f4f59e2c2ebcd6d4e4fe9428f39f33b0203934f4de630c74841301d54bfa0f; durable gategate-2bash tests/ai-gateway.sh: status=succeeded; candidate commitd55b2a9654c62e849b38dc472a28dce4c31d785b, treed3ec4f90b396923c58557e8deb1a7e7db16f3ceb, fingerprintc4f4f59e2c2ebcd6d4e4fe9428f39f33b0203934f4de630c74841301d54bfa0f; durable gategate-3node tests/roadie-wordpress-platform.mjs: status=succeeded; candidate commitd55b2a9654c62e849b38dc472a28dce4c31d785b, treed3ec4f90b396923c58557e8deb1a7e7db16f3ceb, fingerprintc4f4f59e2c2ebcd6d4e4fe9428f39f33b0203934f4de630c74841301d54bfa0f; durable gategate-4python3 tests/inbound-event-connector.py: status=succeeded; candidate commitd55b2a9654c62e849b38dc472a28dce4c31d785b, treed3ec4f90b396923c58557e8deb1a7e7db16f3ceb, fingerprintc4f4f59e2c2ebcd6d4e4fe9428f39f33b0203934f4de630c74841301d54bfa0f; durable gategate-5bash -c 'ls tests/wordpress-chat-activation.* >/dev/null && for t in tests/wordpress-chat-activation.*; do bash $t || exit 1; done': status=succeeded; candidate commitd55b2a9654c62e849b38dc472a28dce4c31d785b, treed3ec4f90b396923c58557e8deb1a7e7db16f3ceb, fingerprintc4f4f59e2c2ebcd6d4e4fe9428f39f33b0203934f4de630c74841301d54bfa0f; durable gategate-6AI assistance