Skip to content

Flip render.use_manifest default to true — v0.5.0 cut#45

Merged
dilawarabbas1 merged 1 commit into
mainfrom
claude/push-code-dotagent-SloI4
May 20, 2026
Merged

Flip render.use_manifest default to true — v0.5.0 cut#45
dilawarabbas1 merged 1 commit into
mainfrom
claude/push-code-dotagent-SloI4

Conversation

@dilawarabbas1

Copy link
Copy Markdown
Owner

Summary

The v3 navigation manifest has been opt-in since 0.4.6. Every feature shipped since (manifest CLI, service-repo schema, derived-file generators, hand-maintained docs convention, doc-coverage CLI) was built on top of it. Time to make it the default.

DEFAULT_CONFIG["render"]["use_manifest"]: FalseTrue.

Behavior change

Project state Before After
New project (dotagent init) v1 compendium v3 manifest
Existing project, no render: block v1 compendium v3 manifest (on next dotagent sync)
Existing project, use_manifest: true v3 manifest v3 manifest (no change)
Existing project, use_manifest: false v1 compendium v1 compendium (explicit opt-out respected)

Opt-out

# .agent/config.yaml
render:
  use_manifest: false

Still works. v1 renderer stays in the codebase as the safety net. Malformed render: block still degrades to v1.

Test plan

  • test_default_config_emits_v3_manifest (new) — merge_defaults({}) produces v3 output.
  • test_claude_adapter_uses_v1_when_flag_explicitly_off (renamed) — explicit opt-out still works.
  • test_cursor_copilot_opencode_use_v1_when_flag_explicitly_off (renamed) — all four adapters honor opt-out.
  • test_malformed_render_block_falls_back_to_v1 — unchanged; safety net intact.
  • test_claude_adapter_renders_full_context_with_bug_registry — updated to explicitly opt into v1 (it's testing v1's inline-content behavior).
  • Full suite: 733 passed, 2 skipped.

Rollout for Aigent's four repos

# In each repo (project-root meta + portal + backend + admin)
dotagent update                # pull v0.5.0
dotagent sync                  # regen CLAUDE.md + sister adapters

If any repo's .agent/config.yaml has render: { use_manifest: false } lingering from earlier testing, remove it.

Version

0.4.13 → 0.5.0. The v3 model is now the contract.


Generated by Claude Code

The v3 navigation manifest renderer has been opt-in since 0.4.6 (PR
#36). All scaffolding, schema entries, hand-maintained docs
registration, derived-file generators, and doc-coverage CLI shipped
in 0.4.7 through 0.4.13 have been built ON TOP OF the manifest
model. Time to make it the default.

### What flips

- `DEFAULT_CONFIG["render"]["use_manifest"]` in config.py: `False`
  → `True`. New projects scaffolded via `dotagent init` get v3 by
  default. Existing projects whose `.agent/config.yaml` does NOT
  override the field also pick up v3 on next `dotagent sync`.

- Comment on the field updated to reflect "v0.5.0+ default true; set
  false to opt out" instead of the prior "v0.4.x default false; flip
  for v0.5.0".

- `_dispatch.py` docstring updated for the same reason.

### Opt-out unchanged

`render.use_manifest: false` in `.agent/config.yaml` still selects
the v1 compendium. Failure-mode fallback (malformed `render:` block)
still degrades to v1 — v1 stays in the codebase as the safety net.

### Test changes

- `test_claude_adapter_uses_v1_when_flag_off` →
  `test_claude_adapter_uses_v1_when_flag_explicitly_off`. Same logic,
  but now sets `use_manifest: False` explicitly since the default
  flipped.
- Same for `test_cursor_copilot_opencode_use_v1_when_flag_off`.
- New `test_default_config_emits_v3_manifest` asserts the new default
  behaviour.
- `test_claude_adapter_renders_full_context_with_bug_registry` (in
  test_adapters.py) explicitly sets v1 opt-out — it's testing v1's
  inline-content behaviour, which the test name describes.

### Rollout

Existing projects pick up v3 the next time someone runs
`dotagent sync` and either (a) their config doesn't have a `render:`
block at all, or (b) they explicitly remove the `use_manifest: false`
line. Either gets them v3.

To stay on v1: add `render: { use_manifest: false }` to
`.agent/config.yaml`. That's the supported opt-out and will remain so
for at least the v0.5.x line.

Full suite: 733 passed, 2 skipped.

Version: 0.4.13 → 0.5.0.
@dilawarabbas1 dilawarabbas1 merged commit cf0a462 into main May 20, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants