NetLogo / NetLogo/Netlogo-LLM-Extension

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

Open
#67 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Scala
Stars
1
Forks
0
Avg merge
3d 1h
Merged PRs (30d)
4

Description

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 #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

  • #42 — added the config-*.txt gitignore pattern that masks config-reference.txt
  • #61 — re-add baba-is-ai to the bundled library
  • #66 — demo config path and naming inconsistency

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with build.sbt:15-24, .gitignore:51, and the packageZip configuration, then inspect the history referenced in the issue and verify the v1.0.0 archive contents. Determine whether both documented files should ship, preserve the API-key protection intent, and ensure missing package inputs cannot pass silently. Done means the intended files are included and the build catches future omissions.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
build-system, documentation, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.