Skip to content

v0.9.0

Choose a tag to compare

@dzykovic dzykovic released this 28 Jul 16:35
· 7 commits to main since this release

A remote git+ pack has so far existed only inside the run cache: cloned, consumed, deleted. The only evidence that an upstream pack had changed was a shifted diff in the generated output, interleaved with your own rules and skills — there was no way to review what a pin bump actually brought in. external: fixes that by materializing each pack into a directory you commit.

Highlights

Added

  • external: { dir: … } — remote packs materialized into the repo and committed. Each pack is copied into <dir>/<repo-name>/ with a .pack stamp recording url, ref and resolved SHA. Commit that directory and bumping @v1.2.0 to @v1.3.0 reads as an ordinary git diff, deleted skills included.
  • Only the subpaths your sources reference are copied, so a pack's README, CI config and tests stay out of your repo. .git is never copied — a nested repository would be recorded as a gitlink, whose contents git does not track, which is the exact state this avoids.
  • One directory per repo@ref. The first source entry to touch a pack in a run clears it, so content from a previous ref or a since-deleted source entry does not linger.
  • Never destructive: the clear is guarded by the stamp. A directory whose .pack does not name the same repo is left alone and the pack takes a suffixed name, so neither a folder of your own nor a second pack with a colliding repo basename can be deleted.
  • Two consequences fall out for free — pack files now have committed paths, so AGENTS.md and the Pi adapter link to them like any local source instead of naming them bare, and a pinned pack that is already committed keeps working when its remote is unreachable.

Changed

  • external.dir is validated like an adapter output — repo root, outside-the-repo and inside-a-source values are refused with exit 1 before anything is written — but is deliberately allowed inside the intelligence umbrella, since <umbrella>/external is the recommended location. Adapter outputs aimed at the external dir are refused symmetrically, and warn_unsynced no longer flags materialized packs.
  • get_yaml_field is now the single two-level config reader, shared by project.name and external.dir.

Omit the block and behaviour is unchanged: packs stay transient. No schema change — the stamp advances to 0.9.0 on update.

Full changelog: https://github.com/ainova-systems/intelligence-sync/blob/v0.9.0/CHANGELOG.md

Install

Set up intelligence-sync in this project: clone https://github.com/ainova-systems/intelligence-sync, copy its `intelligence/` folder here, and follow intelligence/sync/INIT.md to bootstrap config.yaml and the first rules, agents and skills.

Already installed? Paste this instead:

Update intelligence-sync: fetch the latest engine from https://github.com/ainova-systems/intelligence-sync and run its update flow to migrate this project to the newest version. Leave my rules, agents, and project skills untouched.