Skip to content
60 changes: 60 additions & 0 deletions .github/workflows/vault-dispatch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Vault dispatch
on:
push:
branches: [main, dev]
pull_request:
types: [opened, closed]
deployment_status:

permissions:
contents: read

jobs:
dispatch:
runs-on: ubuntu-latest
steps:
- name: Build payload and dispatch
env:
GH_TOKEN: ${{ secrets.DOCS_DISPATCH_TOKEN }}
EVENT_NAME: ${{ github.event_name }}
EVENT_ACTION: ${{ github.event.action }}
ACTOR: ${{ github.actor }}
SHA: ${{ github.sha }}
REF: ${{ github.ref }}
run: |
set -eo pipefail

case "$EVENT_NAME" in
push)
SHORT="${SHA:0:7}"
BRANCH="${REF#refs/heads/}"
MSG=$(jq -r '.head_commit.message // ""' "$GITHUB_EVENT_PATH" | head -1 | head -c 200)
TYPE="push"
BODY="**${BRANCH}** ${SHORT} ${MSG} (by ${ACTOR})"
;;
pull_request)
NUM=$(jq -r '.pull_request.number' "$GITHUB_EVENT_PATH")
TITLE=$(jq -r '.pull_request.title' "$GITHUB_EVENT_PATH")
MERGED=$(jq -r '.pull_request.merged // false' "$GITHUB_EVENT_PATH")
if [ "$EVENT_ACTION" = "closed" ] && [ "$MERGED" = "true" ]; then
TYPE="pr-merged"
else
TYPE="pr-${EVENT_ACTION}"
fi
BODY="**PR #${NUM}** ${TITLE} (${TYPE} by ${ACTOR})"
;;
deployment_status)
STATE=$(jq -r '.deployment_status.state' "$GITHUB_EVENT_PATH")
ENV_NAME=$(jq -r '.deployment_status.environment // "unknown"' "$GITHUB_EVENT_PATH")
[ "$STATE" != "success" ] && [ "$STATE" != "failure" ] && exit 0
TYPE="deploy-${STATE}"
BODY="**Deploy ${STATE}** env: ${ENV_NAME}"
;;
esac

gh api repos/decodedcorp/decoded-docs/dispatches \
-f event_type=git-event \
-f "client_payload[type]=${TYPE}" \
-f "client_payload[message]=${BODY}" \
-f "client_payload[actor]=${ACTOR}" \
-f "client_payload[sha]=${SHA}"
106 changes: 81 additions & 25 deletions .omc/project-memory.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": "1.0.0",
"lastScanned": 1776389561427,
"projectRoot": "/Users/kiyeol/development/decoded/decoded-monorepo",
"lastScanned": 1778751573234,
"projectRoot": "/Users/kiyeol/development/decoded/decoded-monorepo/.claude/worktrees/docs+obsidian-vault-spec",
"techStack": {
"languages": [
{
Expand Down Expand Up @@ -51,7 +51,10 @@
"test": "turbo run test",
"ci:local": "bash scripts/git-pre-push.sh",
"generate:api": "turbo run generate:api",
"deploy:backend": "bash scripts/deploy-backend.sh"
"deploy:backend": "bash scripts/deploy-backend.sh",
"wiki:lint": "bun tools/wiki/cli.ts lint",
"wiki:links": "bun tools/wiki/cli.ts links",
"wiki:ingest": "bun tools/wiki/cli.ts ingest"
}
},
"conventions": {
Expand Down Expand Up @@ -85,27 +88,27 @@
"path": "__tests__",
"purpose": "Test files",
"fileCount": 0,
"lastAccessed": 1776389561368,
"lastAccessed": 1778751573071,
"keyFiles": []
},
"docs": {
"path": "docs",
"purpose": "Documentation",
"fileCount": 9,
"lastAccessed": 1776389561368,
"fileCount": 11,
"lastAccessed": 1778751573072,
"keyFiles": [
"BACKEND-ONBOARDING.md",
"DATABASE-MIGRATIONS.md",
"GIT-WORKFLOW.md",
"README.md",
"backend-frontend-status.md",
"gstack-guide.md"
"LOCAL-DEV.md",
"README.md"
]
},
"nginx": {
"path": "nginx",
"purpose": null,
"fileCount": 2,
"lastAccessed": 1776389561408,
"lastAccessed": 1778751573120,
"keyFiles": [
"decoded.dev.conf",
"preview.decoded.style.conf"
Expand All @@ -115,14 +118,14 @@
"path": "packages",
"purpose": null,
"fileCount": 0,
"lastAccessed": 1776389561411,
"lastAccessed": 1778751573124,
"keyFiles": []
},
"plans": {
"path": "plans",
"purpose": null,
"fileCount": 3,
"lastAccessed": 1776389561411,
"lastAccessed": 1778751573132,
"keyFiles": [
"partitioned-roaming-pine.md",
"whimsical-questing-rainbow-agent-a724aa4104b0d2aa9.md",
Expand All @@ -132,39 +135,56 @@
"scripts": {
"path": "scripts",
"purpose": "Build/utility scripts",
"fileCount": 12,
"lastAccessed": 1776389561412,
"fileCount": 21,
"lastAccessed": 1778751573147,
"keyFiles": [
"backfill-image-dimensions.py",
"deploy-backend.sh",
"git-pre-push.sh",
"list-posts-with-spots.mjs",
"local-be.sh"
"bump-backend-version.sh",
"check-db-drift.sh",
"db-drift-allowlist.txt",
"deploy-backend.sh"
]
},
"specs": {
"path": "specs",
"purpose": null,
"fileCount": 1,
"lastAccessed": 1776389561413,
"lastAccessed": 1778751573166,
"keyFiles": [
"README.md"
]
},
"supabase": {
"path": "supabase",
"purpose": null,
"fileCount": 2,
"lastAccessed": 1776389561413,
"fileCount": 4,
"lastAccessed": 1778751573185,
"keyFiles": [
"config.toml",
"seed.sql"
]
},
"supabase-assets": {
"path": "supabase-assets",
"purpose": null,
"fileCount": 1,
"lastAccessed": 1778751573192,
"keyFiles": [
"config.toml"
]
},
"tools": {
"path": "tools",
"purpose": null,
"fileCount": 0,
"lastAccessed": 1778751573197,
"keyFiles": []
},
"docs/api": {
"path": "docs/api",
"purpose": "API routes",
"fileCount": 15,
"lastAccessed": 1776389561413,
"lastAccessed": 1778751573210,
"keyFiles": [
"README.md",
"SPEC-CHANGE-PROCESS.md",
Expand All @@ -174,11 +194,23 @@
"supabase/migrations": {
"path": "supabase/migrations",
"purpose": "Database migrations",
"fileCount": 2,
"lastAccessed": 1776389561414,
"fileCount": 19,
"lastAccessed": 1778751573230,
"keyFiles": [
"20260409075040_remote_schema.sql",
"20260409181000_add_item_image_dimensions.sql"
"20260417125959_view_logs_created_at_index.sql",
"20260417130000_admin_dashboard_rpcs.sql"
]
},
"supabase-assets/migrations": {
"path": "supabase-assets/migrations",
"purpose": "Database migrations",
"fileCount": 14,
"lastAccessed": 1778751573233,
"keyFiles": [
"20260424120000_initial.sql",
"20260426130000_drop_r2_columns.sql",
"20260427124408_drop_image_hash.sql"
]
}
},
Expand All @@ -189,12 +221,30 @@
"lastAccessed": 1776466352322,
"type": "file"
},
{
"path": "docs/superpowers/specs/2026-05-14-obsidian-vault-transition-design.md",
"accessCount": 18,
"lastAccessed": 1778752484618,
"type": "file"
},
{
"path": "docs/superpowers/specs/2026-04-17-229-image-proxy-robustness-design.md",
"accessCount": 11,
"lastAccessed": 1776433136836,
"type": "file"
},
{
"path": "docs/superpowers/specs/2026-05-14-telegram-bot-vault-integration-design.md",
"accessCount": 11,
"lastAccessed": 1778752464843,
"type": "file"
},
{
"path": "docs/superpowers/specs/2026-05-14-personal-vault-claude-volt-design.md",
"accessCount": 9,
"lastAccessed": 1778752475953,
"type": "file"
},
{
"path": "docs/superpowers/plans/2026-04-17-229-image-proxy-robustness.md",
"accessCount": 5,
Expand Down Expand Up @@ -254,6 +304,12 @@
"accessCount": 1,
"lastAccessed": 1776433000408,
"type": "directory"
},
{
"path": "docs/superpowers/specs/2026-04-23-305-source-type-structured-fields-phase-a-design.md",
"accessCount": 1,
"lastAccessed": 1778751258783,
"type": "file"
}
],
"userDirectives": []
Expand Down
Loading
Loading