Login
Tagged Check-ins
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Check-ins with non-propagating tags:

2026-08-20
01:38
gpcr: migrate cli.cr to GPCR annotations Primitives (3 public, 9 private): - cgi_reply, cgi_link_base, default_ci — annotated in place - cli_fossil_ls, cli_fossil_cat — extracted from render_explorer / CGI handler; FOSSIL_HOME env isolation preserved exactly as-is - cli_cgi_ci — ENV QUERY_STRING boundary (RegexLiteral kept out of Block) - cli_render_source — begin/rescue Crystal::SyntaxException (ExceptionHandler cannot appear in Block body) - cli_review_gallery, cli_pus_emit, cli_ops_apply, cli_ops_index, cli_census — rescue blocks + MultiAssign extracted behind Primitive boundary Blocks (3 new): - render_explorer — body now calls cli_fossil_ls + cgi_link_base - cli_handle_cgi — extracted CGI dispatch; || / && converted to if/unless - cli_dispatch — case subcommand routing; || abort patterns converted to two-statement `x = ARGV[n]?; abort unless x` form Top-level: 4-line if/else delegates to cli_handle_cgi or cli_dispatch(ARGV[0]?) Census ratchet: cli.cr 0% → 38.3% GPCR; project 20.9% → 23.4% Updated spec/fixtures/census_baseline.json to new actuals. Dissolve candidates (future pass): the "render" subcommand in cli_dispatch duplicates what GPCR.standard_main already provides — could delegate to it. All 172 specs pass; format clean. Leaf check-in: 050b1099a3 user: agent-claude tags: session/5c797312925ecc66aea30ef85162894ef2244f3763fd822e0132bb1685a4d778, closed
01:36
GPCR migrate src/gpcr/apply.cr: R0 + Primitive/Block split apply.cr: 496 lines native → 582 lines, 48.1% GPCR (0→280 gpcr_lines, 0→64 primitive_lines) Project: 20.9% → 28.4% GPCR overall R0: Buffer de-classed to thin shim; mutable state (source/gen/nodes/undo_stack/params) stays in Buffer but all pure logic extracted to top-level annotated defs. Primitives (7): apply_index_source (NodeIndexer/AST gate), apply_crystal_format (subprocess), apply_parse_gate (Crystal::Parser re-parse gate), apply_write_commit (file I/O + fossil), apply_parse_call_spec (regex ordinal parse), apply_rewrite_arg (regex arg rewrite), apply_rename_line (regex def rename). Blocks (16): apply_validate_kind (op/kind validity table), apply_block_call_expr, apply_call_stmt, apply_replace_lines, apply_resolve_index_target, apply_resolve_path_target (calls Primitive for regex), apply_resolve_target (dispatch), apply_undo_op, apply_wrap_op, apply_add_op, apply_set_op, apply_delete_op, apply_move_op, apply_rename_op, apply_def_op, apply_mutate (op dispatch). Or/And rewritten to if/unless chains throughout. NilLiteral avoided in Blocks by using Array#select + [ordinal-1]? pattern. census_baseline.json updated to new ratchet. All 197 specs pass (ops_spec + self_conformance + full suite). bin/gpcr render confirms 23-section block stack: 7 Primitive + 16 Block sections. Leaf check-in: a1be93ae2d user: agent-claude tags: session/5861aeccde161538b7a9c4a2f06882fa0d1ac2d9228e60cd2211a8a6bdd7ca1b, closed