Skip to content

bug: both files declared in netLogoZipExtras are missing from the repo, so the distribution zip silently omits them #67

Description

@JNK234

Problem

build.sbt:15-24 declares two extra files for the distribution zip:

netLogoZipExtras := {
  val base = baseDirectory.value
  Seq(
    base / "NetLogo-LLM-Extension-Documentation.md",
    base / "demos" / "config-reference.txt"
  ).filter(_.exists())
}

Neither file is present in the repository, so .filter(_.exists()) silently drops both and packageZip produces a distribution containing neither. There is no build warning or error.

Verified 29 Jul 2026 on main at 2ac6830.

Why each is missing

NetLogo-LLM-Extension-Documentation.md — was tracked historically (b3945a6, b6bd09b, f094d2f "Add config validation tests and build documentation") and removed at some later point. Not present on main.

demos/config-reference.txt — has never been tracked. .gitignore:51 contains the pattern config-*.txt, which matches it. The file exists in working copies but has always been invisible to git, so any fresh clone builds a zip without it.

Impact

The v1.0.0 zip submitted to NetLogo-Libraries would have shipped without both files. config-reference.txt in particular is 7.8 KB of user-facing configuration documentation covering every config key and the precedence rules — it is the reference a modeler would look for when setting up a provider.

What needs to be done

  1. Decide whether both files should still ship. If yes, restore them to the repository.
  2. For config-reference.txt, add a .gitignore negation (!demos/config-reference.txt) so the config-*.txt secret-protection pattern does not swallow documentation. The pattern exists to keep API keys out of git (added in chore: gitignore __pycache__ and config files with API keys #42); a narrower pattern or an explicit exception would preserve that intent.
  3. Replace .filter(_.exists()) with a build failure or at minimum a warning, so a missing packaged file cannot pass silently again.
  4. Confirm what the released v1.0.0 zip actually contains, since the submission may have been reviewed without these files.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions