FFFF bug(cli): make --strict the default; permissive compiles emit runnable artifacts that contradict their spec · Issue #264 · Mnehmos/mnehmos.nls.lang · GitHub
[go: up one dir, main page]

Skip to content

bug(cli): make --strict the default; permissive compiles emit runnable artifacts that contradict their spec #264

Open

Description

@Mnehmos

@-

Activity

  1. added
    bugSomething isn't working
    coreCore language semantics and design
    cliCommand line interface
    on Sep 13, 2026
  2. Mnehmos commented on Sep 13, 2026

    @Mnehmos
    OwnerAuthor

    Execution half implemented in #269 (fix/issue-264-scaffold-containment).

    Landed: a scaffold is now inert. run/test refuse it with the new ESCAF001; compile writes <stem>.draft.<ext>, emits no test artifact, and removes a stale artifact when a module regresses into a scaffold. --strict unchanged.

    Deliberately not in that PR — the default flip. Its acceptance criterion is a strict-clean corpus, and measuring that corpus turned up a dependency the issue as written did not account for:

    < D56C td>math.nl
    example strict errors blocker
    1 module name shadows stdlib math (ESEM013) — trivial rename
    billing.nl 10 DEPENDS drift, prose LOGIC, one generator expression
    strings.nl 3 ternary, method chain, not on string
    sorting.nl 3 list comprehensions — blocked on #267
    sorting_ja.nl 3 list comprehensions — blocked on #267
    workflow_engine.nl 222 110 prose, 24 comprehensions, 12 with, 7 lambdas, … across 67 ANLUs

    So the flip is gated on #267 landing plus a substantial workflow_engine rewrite, not on CLI work. Suggested split:

    1. Scaffold containment — fix(cli): contain incomplete scaffolds so they cannot run or be imported #269
    2. math rename, billing and strings made strict-clean (unblocked today)
    3. feat(control): bounded iteration in the strict core — recursion-with-cursor is unreviewable #267 bounded iteration → unblocks sorting, sorting_ja, and most of workflow_engine
    4. workflow_engine rewrite or demotion out of the shipped corpus
    5. Flip the default

    Until 5, examples/README.md states which examples are complete and which are drafts, so the corpus no longer implies more than it delivers.

  3. Mnehmos commented on Sep 13, 2026

    @Mnehmos
    OwnerAuthor

    Stage 2 landed on the same branch (#269). Strict-clean examples: 2 of 8 → 5 of 8.

    example before after
    math.nl → arithmetic.nl ESEM013 stdlib shadow strict-clean
    billing.nl 10 errors strict-clean
    strings.nl 3 errors strict-clean
    shop_demo.nl clean clean
    showcase/mission_control.nl clean clean (now tracked)
    sorting.nl, sorting_ja.nl, sorting_ts.nl comprehensions blocked on #267
    workflow_engine.nl 222 errors untouched

    Notes worth recording:

    Remaining for this issue: #267, then workflow_engine, then the default flip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcliCommand line interfacecoreCore language semantics and designpriority-criticalMust be addressed immediately

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0