Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,10 @@ agentflow_demo_api.duckdb*

# Internal working notes / autonomous-session artifacts — kept locally, not published.
# These are process/handoff/scratch docs, not product or engineering documentation.
# Claude Code config/session state and any *_local/ scratch dir are kitchen, never
# product — untracked-but-unignored is one `git add -A` from a public repo. (N-6/P5.2)
/.claude/
/*_local/
/AGENT_STATE.md
/AUTOPILOT.md
/BACKLOG.md
Expand All @@ -134,7 +138,15 @@ agentflow_demo_api.duckdb*
/all-open-questions-closure-plan.md
/close-gaps-plan.md
/road-to-9.8.md
/desc_for_julia.md
/desc_for_julia*.md
/G2_AUDIT_REPORT.md
/new_plen_*.md
/pii-deny-gate.md
/s6-bridge-design.md
/slice5-pg-control-plane.md
# Root-level scratch presentation decks (internal drafts, not product; no tracked
# code references them). Product docs live under docs/ and examples/.
/presentation*.html
/fable_*.md
/next-session-*.md
/second-opinion-*.md
Expand Down
6 changes: 5 additions & 1 deletion src/processing/flink_jobs/stream_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,11 @@ def map(self, value: tuple[str, str]) -> str | None:
def build_pipeline() -> StreamExecutionEnvironment:
env = StreamExecutionEnvironment.get_execution_environment()

# Checkpointing for exactly-once
# Checkpointing gives at-least-once source replay on recovery. It is NOT
# Kafka-transactional exactly-once (the events.validated sink is built with no
# DeliveryGuarantee); the effective exactly-once seen at the serving layer is
# completed downstream by the bridge's idempotent, event_id-keyed apply — see
# src/processing/bridge_consumer.py.
env.enable_checkpointing(30_000) # 30s
env.get_checkpoint_config().set_min_pause_between_checkpoints(10_000)
env.set_parallelism(int(os.getenv("FLINK_PARALLELISM", "2")))
Expand Down