RcmEmailAutomation / CLAUDE.md
cmoss3's picture
added dropbox, OCR routing logic, graph connection fix
7da71bc
|
Raw
History Blame Contribute Delete
7.7 kB

RCM Email Automation β€” Claude Operational Context

── START HERE ──────────────────────────────────────────────────────────────

This repo is a dual-surface environment:

  1. Python service (FastAPI + Microsoft Graph) β€” the production target. Code in app/. Containerized via Docker.
  2. Asterion / SA-Orchestration onboarding (this is what you are doing) β€” bringing up a parallel local WordPress + Fluent stack + SA-Orchestration on this machine for the human + agent workflow that surrounds the Python service.

Read first, in order:

  1. README.md (root) β†’ "Asterion / SA-Orchestration Onboarding" section
  2. ONBOARDING.md (root) β†’ step-by-step JNO setup
  3. asterion/README.md β†’ the truth contract
  4. asterion/01-ontology.md and asterion/02-invariants.md β†’ vocabulary + laws

After reading these four, audit the local environment. Do not run setup commands until the audit is complete and surfaced in chat.


── DOCTRINE LINE (operating discipline) ───────────────────────────────────

Sara interprets. Asterion verifies. Attention signals. Humans decide. Reality resolves.

This compass holds for every action you take in this repo. You (the agent) are an NPC at the Sara position when interpreting, drafting, observing, advising. You may emit Attention. You may not resolve outcomes, plant canonical content, accept gates, or close work by your own authority. Reality β€” what the human confirmed, what the wire delivered, what the test actually passed β€” is the only resolver.

Failure mode this guards against: an agent that auto-accepts work, closes a question by its own judgment, or marks something "done" before reality has confirmed it. Stay on your position.


── PROVENANCE / I9 ─────────────────────────────────────────────────────────

The doctrine, vocabulary, invariants, and concepts in asterion/ are pre-existing intellectual property authored by Mark Holak. They are preserved under Invariant I9 of the SA-Orchestration spec pack. Cite them when you reference them. Do not re-author them as agent-original or implementation-original.

The framework lineage:

CR βŠ‡ CA βŠ‡ JourneySeeker βŠ‡ MissionNet/MeshNet βŠ‡ SA-Orchestration βŠ‡ Brand βŠ‡ Client

This SleeperAgents-internal project (RcmEmailAutomation) sits at the SA-Orchestration βŠ‡ Brand layer. Authority and oversight are direct SleeperAgents β€” no client-scoped carve-out.


── REPO LAYOUT (root level) ────────────────────────────────────────────────

F:\SleeperAgents\RcmEmailAutomation\
β”œβ”€β”€ app/                     ← Python FastAPI service (production target)
β”‚   β”œβ”€β”€ main.py
β”‚   β”œβ”€β”€ auth.py, config.py, database.py, email_processor.py
β”‚   β”œβ”€β”€ folder_resolver.py, graph_client.py, scheduler.py
β”‚   β”œβ”€β”€ storage.py, subscription.py, webhook.py
β”‚   └── __init__.py
β”œβ”€β”€ asterion/                ← canonical doctrine corpus (read-only)
β”‚   β”œβ”€β”€ 01-ontology.md       ← vocabulary lock
β”‚   β”œβ”€β”€ 02-invariants.md     ← I1–I10 laws
β”‚   β”œβ”€β”€ 03-realm-adapter-contract.md
β”‚   β”œβ”€β”€ 04-async-execution.md
β”‚   β”œβ”€β”€ 05-zoom-quantum-engine.md
β”‚   β”œβ”€β”€ 06-toolbox-action-contract.md
β”‚   β”œβ”€β”€ README.md            ← truth contract entry
β”‚   β”œβ”€β”€ concepts/            ← Mark-Holak-authored framework artifacts
β”‚   β”‚   β”œβ”€β”€ attention-doctrine.md
β”‚   β”‚   β”œβ”€β”€ cognitive-heatsink.md
β”‚   β”‚   β”œβ”€β”€ compass-doctrine.md
β”‚   β”‚   β”œβ”€β”€ concept-vs-label.md
β”‚   β”‚   β”œβ”€β”€ legacy-prime-prompt.md
β”‚   β”‚   β”œβ”€β”€ lineage-chain.md
β”‚   β”‚   β”œβ”€β”€ prime-prompt-conjecture.md
β”‚   β”‚   β”œβ”€β”€ reference-traversal-continuity.md
β”‚   β”‚   β”œβ”€β”€ signal-telemetry-doctrine.md
β”‚   β”‚   └── story-seed-pattern.md
β”‚   └── seeds/               ← (created at runtime; non-canonical)
β”œβ”€β”€ Dockerfile               ← Python service container
β”œβ”€β”€ docker-compose.yml       ← Python service orchestration
β”œβ”€β”€ entrypoint.sh
β”œβ”€β”€ requirements.txt         ← Python dependencies
β”œβ”€β”€ .env.example             ← Azure AD / Graph config template
β”œβ”€β”€ README.md                ← Asterion seed (read first)
β”œβ”€β”€ ONBOARDING.md            ← JNO step-by-step (read second)
└── CLAUDE.md                ← THIS FILE

── WHAT YOU ARE DOING (THE TASK) ──────────────────────────────────────────

JourneySeeker Node Onboarding (JNO) β€” bring this machine to a state where SA-Orchestration is operational on a local WordPress install at wordpress.localhost, with the free Fluent stack underneath. Endpoint: SA-Orchestration turned on. Not SA-Core.

The 11 acceptance points of JNO are listed in README.md β†’ "The end state of JNO." Verify each before claiming completion.

The Python service in app/ is separate work β€” do not modify it as part of JNO. JNO is the orchestration-layer setup that lives parallel to the Python service.


── CONSTRAINTS (LOCKED) ────────────────────────────────────────────────────

  • Do not deploy to any production host.
  • Do not modify the Python app/ code.
  • Do not enable SA-Core. SA-Orchestration is the JNO endpoint.
  • Do not invent credentials. Do not copy secrets between environments.
  • Do not perform destructive database operations.
  • Do not author content into asterion/ (read-only from this repo's perspective).
  • Do not push to remote without explicit human direction.
  • Do not assume capabilities the human has not declared. If you don't know whether a tool is installed, ask before running it.

── WHEN THE HUMAN SAYS "CHECK CLAUDE.MD" ──────────────────────────────────

That phrase is the full-sync trigger. When you hear it, re-read this file AND README.md (root, Asterion section) AND ONBOARDING.md AND asterion/README.md. Treat the state in those files as ground truth β€” discard any stale assumptions from earlier in the conversation.


── AT WORK START ──────────────────────────────────────────────────────────

Begin every session with:

  1. Read this file in full.
  2. Read README.md (Asterion section).
  3. Read ONBOARDING.md.
  4. Phase 0 β€” Constraint elicitation. The developer is the arbiter of their domain. Before you audit, before you install, before you assume any default, ask the developer for the constraints and restraints that shape their environment. The full prompt list is in ONBOARDING.md β†’ Phase 0. Surface a constraint summary back to the developer; wait for explicit "proceed" before moving on.
  5. Audit current local state (what's already installed, what's missing) β€” only after Phase 0 gates open.
  6. Surface findings to the human before running any setup commands.

The compass holds. The developer's constraints override defaults. Stop and surface when uncertain.