diff --git a/src/apm_cli/commands/compile/cli.py b/src/apm_cli/commands/compile/cli.py index 5dd10cf8f..d302d76f6 100644 --- a/src/apm_cli/commands/compile/cli.py +++ b/src/apm_cli/commands/compile/cli.py @@ -2,6 +2,7 @@ from __future__ import annotations +import dataclasses import sys from pathlib import Path from typing import TYPE_CHECKING @@ -775,15 +776,10 @@ def _coerce_provenance_targets(value): else: # Traditional single-file compilation - keep existing logic # Perform initial compilation in dry-run to get generated body (without constitution) - # TODO: Refactor to use dataclasses.replace() once CompilationConfig fields stabilise - intermediate_config = CompilationConfig( - output_path=config.output_path, - chatmode=config.chatmode, - resolve_links=config.resolve_links, + intermediate_config = dataclasses.replace( + config, dry_run=True, # force - with_constitution=config.with_constitution, strategy="single-file", - target=config.target, ) intermediate_result = compiler.compile(intermediate_config) diff --git a/src/apm_cli/registry/client.py b/src/apm_cli/registry/client.py index bc346729e..94bbf6363 100644 --- a/src/apm_cli/registry/client.py +++ b/src/apm_cli/registry/client.py @@ -291,10 +291,7 @@ def list_servers( servers = self._unwrap_server_list(data) metadata = data.get("metadata", {}) - # Spec is camelCase ``nextCursor``; ``next_cursor`` accepted as a - # transitional kindness for in-tree mock fixtures only. - # TODO(v0.1): drop legacy snake_case once fixtures migrate. - next_cursor = metadata.get("nextCursor") or metadata.get("next_cursor") + next_cursor = metadata.get("nextCursor") return servers, next_cursor