lisa-wiki-connector-slack
The centralized Slack connector backed by scripts/slack_oauth_user.py (one-time OAuth) and
scripts/ingest_slack_channel.py (ingest). These are the stdlib-Python scripts previously duplicated
verbatim across projects, now shipped once by the plugin.
Side effects — external-write
Slack OAuth opens a browser and writes a user-token file to a local secrets path. The slack connector
is therefore external-write: it runs ONLY with config opt-in and explicit per-run intent, is
skipped during an unattended full ingest, and its PR never auto-merges.
Flow
- One-time auth (explicit):
python3 "${PLUGIN_ROOT}/scripts/slack_oauth_user.py"— stores axoxp-user token under an ignored secrets path. The token file is never committed. - Ingest:
python3 "${PLUGIN_ROOT}/scripts/ingest_slack_channel.py" --channel <id-or-name> \ --config wiki/lisa-wiki.config.json --emit-meta wiki/state/handoff/slack-<runId>.json— verifies the Slack tenant against config, then writes sanitized source notes underwiki/sources/slack/(tokens/keys redacted) and emits a proposed cursor to the handoff file. - Hand the source notes + handoff meta back to
lisa-wiki-ingest(the kernel advances final state after verification).
Rules
- Verify the Slack team/tenant matches config before ingesting.
- Token/OAuth artifacts stay in
.gitignoreand are never committed. - Writes only Slack source notes; the kernel performs synthesis/index/log/verify/PR.