Skip to content

TL-14, TL-15: Multi-target transport config emit + substrate cleanup - #113

Closed
briansrls wants to merge 2 commits into
mainfrom
claude/lane-2-items-ZudE0
Closed

briansrls wants to merge 2 commits into
mainfrom
claude/lane-2-items-ZudE0

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

TL-14: Multi-target emit — emit transport middleware configuration per target language. Adds emit functions for Rust (Target SDK constructors), Go (struct literals), C (static const structs), and MIPS (data section). Each bundle emitter now produces inline middleware config and a JSON manifest file alongside generated code. The Protobuf/gRPC pattern: .dag declares domain policy, compiler emits config, runtime consumes it.

TL-15: Substrate cleanup — lib/transport/ becomes pure Target SDK. Removes all hardcoded provider-specific error parsing (parse_github_error, parse_gcp_error, parse_anthropic_error, parse_openai_error) and the ProviderDiagnostics struct from classify.rs. Error extraction now uses only the error_shape JSON-path rules from TL-16. The parse_provider_error_shapes fallback is eliminated; the field is retained in the IR struct for serialization backward compat but is always false.

Lane 2 is now fully complete (all 25 tasks done).

https://claude.ai/code/session_01ChHSbjrUYfHYWXrRgxLQwF

TL-14: Multi-target emit — emit transport middleware configuration per
target language. Adds emit functions for Rust (Target SDK constructors),
Go (struct literals), C (static const structs), and MIPS (data section).
Each bundle emitter now produces inline middleware config and a JSON
manifest file alongside generated code. The Protobuf/gRPC pattern:
.dag declares domain policy, compiler emits config, runtime consumes it.

TL-15: Substrate cleanup — lib/transport/ becomes pure Target SDK.
Removes all hardcoded provider-specific error parsing (parse_github_error,
parse_gcp_error, parse_anthropic_error, parse_openai_error) and the
ProviderDiagnostics struct from classify.rs. Error extraction now uses
only the error_shape JSON-path rules from TL-16. The
parse_provider_error_shapes fallback is eliminated; the field is retained
in the IR struct for serialization backward compat but is always false.

Lane 2 is now fully complete (all 25 tasks done).

https://claude.ai/code/session_01ChHSbjrUYfHYWXrRgxLQwF

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cf8514da6d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +855 to +857
"// {op_name}MiddlewareConfig returns the transport middleware configuration.\n\
func {op_name}MiddlewareConfig() TransportMiddlewareConfig {{\n\
\treturn TransportMiddlewareConfig{{\n"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Define Go middleware config types before emitting helper funcs

emit_go_middleware_config now generates functions returning TransportMiddlewareConfig and referencing RateLimitConfig, RetryConfig, and ErrorShapeExtraction, but emit_go_bundle still emits only a single main.go file and does not generate or import definitions for those Go types. Any DAG that has middleware (e.g. existing services with rate_limit/retry) will therefore produce Go output that fails go build due to undefined identifiers.

Useful? React with 👍 / 👎.

provider,
prioritize_auth_errors: true,
parse_provider_error_shapes: error_shape.is_none(),
parse_provider_error_shapes: false,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep provider fallback until error_shape coverage is complete

Forcing parse_provider_error_shapes to false here removes the only fallback path for services that do not emit error_shape; derive_middleware_config only fills error_shape from service.config.error_shapes, and a repo-wide check shows current dsl/services definitions rely on rate_limit/retry but have no error_shape blocks. Combined with the classifier change, those services now lose body-message extraction and can misclassify non-401/403 auth payloads (e.g. Anthropic-style 400 auth errors) as generic client errors.

Useful? React with 👍 / 👎.

Fix 1: workflow_commands.dag deps entries referenced `-p gunbc-deps`
(library crate) instead of `-p gunbc-dag` (where the binary lives).
Also added distinguishing subcommand args ("deps" vs "deps-generate")
so execute_installs and write_deps_toml invoke different operations.

Fixes 2 and 3 from the review were already applied in prior commits:
- Value::Json field access flattening (resolve.rs:398-401)
- A1-A5 binary purge (src/bin/ only has ci.rs + codegen_cli.rs)

Phase 3 "Purist Engine" section adds 5 aspirational tasks (C27-C30,
CT-8) for the final compiler refactor: Daggen AOT compilation, dynamic
JSON-path output mappings, type-aware JSON bridging, typed config
blocks, and contract test generation wiring.

https://claude.ai/code/session_01ChHSbjrUYfHYWXrRgxLQwF
@briansrls briansrls closed this Mar 2, 2026
@briansrls
briansrls deleted the claude/lane-2-items-ZudE0 branch June 1, 2026 18:41
gunbai-bot Bot pushed a commit that referenced this pull request Sep 13, 2026
Private #88 is closed; name strategy.ci_compute_offer_catalog (#113) and SupplierHypothesis, and enroll the row on census_closure_frontier so dissolution can see the trigger.

Co-authored-by: Cursor <cursoragent@cursor.com>
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