Skip to content

Commit d0e5840

Browse files
Clean up docs nav titles and default uv toolchain (#91)
* De-hyphenate pattern titles in docs nav The Patterns section showed kebab-case titles inherited from the filenames (Tool-dispatch-as-node, Session-as-checkpoint-resume, Bypass-if-output-exists), inconsistent with "Parameterized entry point". Convert the nav labels, page H1s, and index catalog links to spaced titles. Filenames stay kebab-case: they are the canonical pattern slugs behind patterns.get() / patterns.list(), so the link targets and the public API surface are unchanged. * Default full local toolchain in uv sync A plain `uv run mkdocs serve` failed because mkdocs lives in the docs dependency group, which uv does not sync by default. The docs and examples groups and the otel/langfuse extras were absent from the default environment. Add a [tool.uv] default-groups covering dev, docs, examples, and a new observability group. uv can default groups but not extras, so the observability group self-references the public otel/langfuse extras to pull them into the default-synced env. Regenerate uv.lock to record the new group. * Regenerate bundled agent docs for pattern titles The de-hyphenate commit changed docs/patterns/ H1s but not the artifacts generated from them: src/openarmature/AGENTS.md and the src/openarmature/_patterns/ copies the patterns API serves. The drift test caught the mismatch in CI. Regenerate both via scripts/build_agents_md.py so the bundled recipe titles match the docs. Pattern slugs (filenames / API keys) are unchanged.
1 parent cd7acab commit d0e5840

11 files changed

Lines changed: 31 additions & 15 deletions

docs/patterns/bypass-if-output-exists.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Bypass-if-output-exists
1+
# Bypass if output exists
22

33
**Problem.** How do I skip a node whose external output already
44
exists?

docs/patterns/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ docs composing existing primitives.
2525

2626
- [Parameterized entry point](parameterized-entry-point.md)
2727
start the graph at an arbitrary node via state-driven routing.
28-
- [Tool-dispatch-as-node](tool-dispatch-as-node.md) — model an
28+
- [Tool dispatch as node](tool-dispatch-as-node.md) — model an
2929
agent tool-call loop as a graph cycle.
30-
- [Session-as-checkpoint-resume](session-as-checkpoint-resume.md)
30+
- [Session as checkpoint resume](session-as-checkpoint-resume.md)
3131
carry multi-turn agent state across turns using the existing
3232
checkpointer.
33-
- [Bypass-if-output-exists](bypass-if-output-exists.md)
33+
- [Bypass if output exists](bypass-if-output-exists.md)
3434
short-circuit a node whose external output already exists, via
3535
middleware.

docs/patterns/session-as-checkpoint-resume.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Session-as-checkpoint-resume
1+
# Session as checkpoint resume
22

33
**Problem.** How do I keep multi-turn agent state across turns?
44

docs/patterns/tool-dispatch-as-node.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Tool-dispatch-as-node
1+
# Tool dispatch as node
22

33
**Problem.** How do I run an agent tool-call loop?
44

mkdocs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ nav:
118118
- Patterns:
119119
- patterns/index.md
120120
- Parameterized entry point: patterns/parameterized-entry-point.md
121-
- Tool-dispatch-as-node: patterns/tool-dispatch-as-node.md
122-
- Session-as-checkpoint-resume: patterns/session-as-checkpoint-resume.md
123-
- Bypass-if-output-exists: patterns/bypass-if-output-exists.md
121+
- Tool dispatch as node: patterns/tool-dispatch-as-node.md
122+
- Session as checkpoint resume: patterns/session-as-checkpoint-resume.md
123+
- Bypass if output exists: patterns/bypass-if-output-exists.md
124124
- Examples:
125125
- examples/index.md
126126
- Hello, world: examples/00-hello-world.md

pyproject.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ docs = [
8585
examples = [
8686
"openai>=1.40",
8787
]
88+
# Self-references the project's public otel + langfuse extras so the
89+
# observability backends can be defaulted into the local env: uv can
90+
# default dependency groups but not extras.
91+
observability = ["openarmature[otel,langfuse]"]
92+
93+
[tool.uv]
94+
# Default-synced env for local work so a plain `uv run` (mkdocs
95+
# serve, the examples, pytest) needs no per-command flags. Naming
96+
# default-groups overrides uv's built-in ["dev"] default, hence "dev"
97+
# is re-listed. The "observability" group carries the otel/langfuse
98+
# extras, which uv otherwise can't default.
99+
default-groups = ["dev", "docs", "examples", "observability"]
88100

89101
[tool.hatch.build.targets.wheel]
90102
packages = ["src/openarmature"]

src/openarmature/AGENTS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ treats fetch and render as separable.
402402

403403
_Recipes that compose the primitives. Not framework contracts — these are how to do common things idiomatically._
404404

405-
### Bypass-if-output-exists
405+
### Bypass if output exists
406406

407407
**Problem.** How do I skip a node whose external output already
408408
exists?
@@ -614,7 +614,7 @@ fields the chosen branch needs) and the graph routes accordingly.
614614
- [Checkpointing](https://openarmature.ai/concepts/checkpointing/)
615615
- Spec: [graph-engine](https://openarmature.org/capabilities/graph-engine/)
616616

617-
### Session-as-checkpoint-resume
617+
### Session as checkpoint resume
618618

619619
**Problem.** How do I keep multi-turn agent state across turns?
620620

@@ -729,7 +729,7 @@ state and the session table holds the join keys.
729729
single-resume baseline.
730730
- Spec: [pipeline-utilities](https://openarmature.org/capabilities/pipeline-utilities/)
731731

732-
### Tool-dispatch-as-node
732+
### Tool dispatch as node
733733

734734
**Problem.** How do I run an agent tool-call loop?
735735

src/openarmature/_patterns/bypass-if-output-exists.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Bypass-if-output-exists
1+
# Bypass if output exists
22

33
**Problem.** How do I skip a node whose external output already
44
exists?

src/openarmature/_patterns/session-as-checkpoint-resume.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Session-as-checkpoint-resume
1+
# Session as checkpoint resume
22

33
**Problem.** How do I keep multi-turn agent state across turns?
44

src/openarmature/_patterns/tool-dispatch-as-node.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Tool-dispatch-as-node
1+
# Tool dispatch as node
22

33
**Problem.** How do I run an agent tool-call loop?
44

0 commit comments

Comments
 (0)