Repository navigation
G0 grammar: service-level config blocks over v1's closed field set - #12286
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The floor refused three claims as completed-over-cost (72300-step budget): service_config_parses (95894), config_only_service (73222) and the pre-existing fn_control_is_admitted (85656, charged because the file changed; local claim_batch shows the grammar change moved it by ~1%). The config fixture drops the operation it never inspected, the route fixture uses an empty config block, and the admit control uses a lowered type declaration instead of a fn body. Local claim_batch: 60589 / 43092 / 59640 steps; both config claims still FAIL with dag.dag reverted to main. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Sep 25, 2026
… the config-only route claim refuses for its set-aside realization Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds service-level
config { ... }to the v2 grammar authorityv2.extdeps.languages.dag(the service nest), which clears the census'sparse_g0_tokens_remainwall at service config (for example theservice github.WorkflowRunsconfig in dag/extdeps/github/workflow_runs.dag).Grammar (grounded on v1
parse_service_config_block/parse_config_fields):service_configisconfig{field*}, with commas optional like the other lists in the nest.service_config_fieldis(endpoint | auth | auth_input | auth_source | rate_limit):expr. This is v1's closed field set, so an unknown field still refuses at parse, as v1 refuses it by name.dag_token_ident, not a new keyword class (the Admit G0 service family so the native door clears leftoverservice#11622 note in the nest).service_body_entrynow chooses config | operation | transport. The nest's comment now names only the v2-inline operation form as remaining v1-admitted work.Lowering (DESIGN §5): v2 has no
body_lower_service_decl.dag_surface_service_declhas no lowering producer, so the whole service, config included, lands wrapper-retained andadmit_normalized_treerefuses it with a typed reason. The config entry is carried to a typed, located refusal, not dropped. A new route claim pins this for a config-only service. Adding a lowering producer is outside this PR: it is the whole service family's lowering, not config's.Controls (
v2.test.parse.g0_service_decl_parse_probe):service_config_parses_holds(the workflow_runs config shape: newline-separated fields plus a struct literal).refuses_at_parse:service_config_unknown_field_still_refuses_holdsandservice_config_without_colon_still_refuses_holds.config_only_service_is_refused_at_the_normalized_tree_door_holds.Evidence:
gunbc run --claim-run --entry src/v2/test/claim/parse/g0_service_decl_parse_probe_test.dag: all 23 claims PASS.dag.dagreverted to main,service_config_parses_holdsand the config route claim both FAIL.Not measured here: I did not re-run the gen-two census, so whether all 41 service files now clear G0 is unverified. Some may stop at a later construct.
Not touched:
ascasts and 02_parse diagnostics.🤖 Generated with Claude Code