Skip to content

Releases: Perlitten/project-brain-public

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 13 Oct 16:31

v0.9.2

Productization

  • Shorten the public README and separate source installation, MCP setup, model
    providers, architecture, release verification and historical research.
  • Validate current documentation versions, local links, anchors and supported
    installation commands automatically in CI.
  • Keep synthetic example labels visible on desktop and mobile; restore panels
    and the memory map under reduced-motion preferences and improve keyboard access.
  • Provide an isolated synthetic deployment guard that rejects backend bindings
    or operator credentials instead of exposing a live dashboard as a demo.
  • Remove the separately deployed Next.js app and Python bytecode from runtime
    wheels while retaining frontend source and public templates in source archives.
  • Archive unreferenced synthetic demonstrations, label historical evaluation and
    release tooling, and retain compatibility imports and frozen evidence.

Verified publication

The reviewed immutable tag passed CI and CodeQL. Anonymous downloads of the wheel, source archive and SPDX SBOM matched every published SHA-256 checksum. Separate fresh wheel and source installs passed CLI/API version checks and real MCP search/context outside the checkout. Linux source acceptance also covered bootstrap, indexing/reindexing, actual start/stop/restart and a clean dependency reinstall. Mock providers are functional smoke coverage; coding outcomes and token-cost benefits remain unproven.

Read-only synthetic demo · Final productization report and evidence limits

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 13:14

v0.9.1

Launch remediation

  • Correct public repository, installation, CI, security and dashboard links.
  • Publish v0.9.1 with verified wheel, source archive, SBOM and SHA256 checksums.
  • Correct privacy, memory approval and unproven efficiency claims.
  • Require explicit credentials and image tags in the experimental image compose
    configuration; fix Neo4j credential propagation and health-gated startup.
  • Exclude ignored frontend outputs from Git indexing without hiding tracked
    source or weakening clean-commit provenance checks; skip symlink targets.
  • Render dashboard data mode from runtime API bindings instead of serving a
    build-time demo snapshot in live containers; regression-test the existing
    runtime robots policy and server-only credential handling.
  • Keep local credentials, npm dependencies and generated Next.js outputs out of
    the web Docker build context.

Security

  • Production startup (ENVIRONMENT=production) now also rejects the
    .env.example placeholders for PROJECT_BRAIN_API_KEY and
    PROJECT_BRAIN_WEBHOOK_TOKEN (the default database passwords were already
    rejected in 0.9.0).
  • scripts/bootstrap.sh replaces both placeholders with random 64-character
    hex secrets; deploy/server_up.sh regenerates any change-me* value.
  • The development docker-compose.yml binds Postgres, Redis, Neo4j and the API
    to 127.0.0.1 instead of all interfaces.
  • CORS no longer allows credentials when the allowed origin is the wildcard *.
  • Web UI login is throttled per client IP after repeated failures.
  • Health check errors report only the exception type, not its message.
  • oracle_test commands and git refs that start with - are rejected, so
    they cannot be read as command-line options.
  • The web UI fails closed: a live deployment without a configured login, or
    with a half-configured one, shows nothing and does not proxy API calls.
    Local development can opt in to the old open mode with WEB_OPEN_MODE=true.
  • The web UI is marked noindex outside demo mode (robots.txt,
    X-Robots-Tag).
  • Provider base URLs that point at cloud-metadata or link-local hosts are
    rejected.
  • The ci and benchmark GitHub Actions workflows run with
    permissions: contents: read.

Changed

  • Quality on a fresh install shows "No benchmark run yet" with a "Run the
    benchmark" button instead of "measurements unavailable"
    (/api/web/quality returns {"available": false, "reason": "not_run"}
    rather than HTTP 503 when no evidence file exists). A shipped evidence file
    with "reference_run": true is labelled "Reference run by maintainers". The
    period-selector note appears only on the overview, which has one.

  • The mock provider is labelled "smoke test only, results not meaningful" in
    Setup, brain doctor, .env.example and the README, each with the one-line
    keyless path to real results (Ollama nomic-embed-text). Setup's "Connect
    AI models" step stays a warning on mock instead of turning green.

  • Setup's "Choose the code to read" step lists the repositories Brain has
    actually indexed and makes one the active repository in a click. When
    TARGET_REPO_PATH was never indexed but another repository was (for example
    with brain index --repo), the step says so instead of reporting done; the
    default sample (Brain's own source) is labelled as such.

  • scripts/start.sh starts the API, the worker and the web dashboard in one
    terminal; scripts/bootstrap.sh lists all three in its "Next" output, writes
    --repo into TARGET_REPO_PATH, and says so when it falls back to Brain's
    own source as a sample repository.

  • /health reports worker liveness (worker.running, from the heartbeat each
    worker keeps in Redis). Without a worker, Setup blocks "Start Brain's
    services", the sidebar shows "worker down", and a queued job's toast says
    "Worker is not running. Start it with …" instead of waiting silently.

  • First run: with no sign-in configured, the web dashboard opens without a
    password when it listens on loopback and is opened from this machine
    (npm run dev / npm run start now bind 127.0.0.1; change it with
    WEB_HOST). Any other address, or a same-host reverse proxy that forwards a
    public Host, stays locked. WEB_OPEN_MODE=false locks loopback too.

  • Telegram alert messages are in English.

  • The web proxy returns a JSON 503 when the Brain API is unreachable.

  • Release docs moved from docs/release/0.9.0-rc1/ to docs/release/0.9.0/;
    historical design docs, benchmark results and pre-release reports removed.

Fixed

  • Lexical search finds code by the identifiers a query names: CamelCase and
    snake_case identifiers are kept whole and split into their words
    (HTTPAdapter → httpadapter, http, adapter), and a file that defines a
    symbol the query names leads the file channel, so "HTTPAdapter" returns
    adapters.py. Identifiers with underscores or trailing digits are no longer
    dropped from the keyword list.

  • The NVIDIA embedding provider no longer fails on code that contains a
    data:image/...;base64, literal. NIM parsed it as an image input and
    rejected the request, so those chunks never got embeddings.

  • Blank chunks left over from empty files no longer count as missing
    embeddings, so nightly verification of repositories with an empty
    __init__.py stops reporting "degraded" (providers reject empty input).

  • The benchmark workflow's service containers use the same database
    passwords as the application defaults, so the job can connect.

Project Brain v0.9.0

Choose a tag to compare

@Perlitten Perlitten released this 12 Oct 16:08

Project Brain v0.9.0

Project Brain provides spatial navigation, dependency context and bounded context
packs for coding agents, with evidence-bound memory and background indexing.

This release includes the L1–L4 memory cycle, dashboard sign-in and agent-value
metrics already merged into main, plus the publication-readiness fixes:

  • Storage services can start before .env exists; Docker Compose 2.24.0+ is required.
  • Standard repository-wide Ruff and Linux Mypy checks pass.
  • Audit query typing supports both SQLAlchemy 2.0 and the locked 2.1 dependency.
  • Grafify output discovery uses configured or repository-relative paths.
  • Swagger, ReDoc and OpenAPI are disabled by default in production.
  • CI checks the entire repository with Ruff and rejects private commit email addresses.
  • Consolidation database tests clean up all their helper tasks between cases.
  • Python wheels exclude Next.js caches, npm dependencies and local env files.

The benchmark distinguishes navigation from coding tasks. The current evidence
does not establish general coding token or cost savings. The memory pipeline
requires captured evidence and review; installing it does not provide a body of
pre-existing learned experience.

API documentation remains enabled by default locally. API_DOCS_ENABLED=false
disables it explicitly; true opts in, including in production.

MIT license. Third-party notices are included in the repository.