Skip to content
Hive

hive · Natural-language workflow creator

Review

reviews/grok-ce-code-review-02.md

High

  • [x] RESOLVED/NO-FIX: lib/hive/commands/decide.rb:200 Finding: completing human outcomes accept agent-controlled artifact symlinks (File.file?/File.binread follow links), so a prior stage can point draft.md at external bytes and have them certified publish_ready without a regular-file/NOFOLLOW check like human state files already use. <!-- triage: duplicate of codex artifact-symlink AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/init.rb:795 Finding: minimal execute always calls install_runtime_hooks!, which installs and enables the LLM-wiki systemd timer, while the minimal preview contract claims context_integration.scheduler=false and services.llm_wiki_timer=false (and tests only pass because HIVE_SKIP_LLM_WIKI_SCHEDULER=1). <!-- triage: duplicate of codex minimal-timer AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/new.rb:206 Finding: on hive_commit failure after git add, cleanup only rm_rfs the task directory and never resets the hive/state index, so a later state commit can still persist the failed task as a phantom staged path. <!-- triage: duplicate of codex staged-cleanup AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/new.rb:300 Finding: idempotency fingerprints only the workflow id (plus managed digests when present), so owner-authored descriptor/instruction edits under the same id reuse the prior task instead of raising an input conflict on retry. <!-- triage: duplicate of codex workflow-fingerprint AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/new.rb:310 Finding: idempotency lookup uses TaskMeta.read, which converts unreadable/corrupt meta.yml into an empty record, hiding the original key and allowing a second task to be created for the same key. <!-- triage: duplicate of codex corrupt-metadata AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/workflow.rb:269 Finding: scaffold collision detection uses File.exist?, which is false for dangling symlinks, so write_scaffold! can follow a planted workflows/<id>.yml symlink and create the descriptor outside the workflows directory. <!-- triage: duplicate of codex dangling-symlink AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/init.rb:793 Finding: minimal init only refuses dirty tracked files, so untracked symlinks under managed bootstrap paths (for example .llm-wiki/ or wiki targets) are followed by bootstrap writers and can redirect project files outside the target tree. <!-- triage: duplicate of codex minimal-init-symlink AUTO-FIX -->

Medium

  • [x] RESOLVED/NO-FIX: lib/hive/commands/decide.rb:227 Finding: a self-targeting to: outcome hits Approve's same-stage no-op before the observation guard, but Decide still returns applied: true without writing a decision record or resetting the stage. <!-- triage: duplicate of codex self-target outcome AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/decide.rb:243 Finding: two concurrent identical decides can both pass the pre-lock waiting check; the loser then fails validate_current_decision! with a stale error instead of the required same-decision no-op. <!-- triage: duplicate of codex concurrent-decision AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/new.rb:193 Finding: idempotent creation holds the commit lock and then takes the managed-workflow mutation lock, while activation holds mutation then commit, forming a timeout-producing lock cycle under concurrent managed install/update. <!-- triage: duplicate of codex lock-order AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: lib/hive/commands/new.rb:259 Finding: any post-ownership Errno::EEXIST is mapped to slug collision without the created cleanup path, leaving an uncommitted orphan task directory that wedges retries. <!-- triage: duplicate of codex owned-candidate AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: skills/hive/references/workflow-creator.md:88 Finding: the promised “shell-quoted” next command only wraps the request in double quotes, so embedded quotes or shell metacharacters can break or rewrite the copy-and-paste command operators are told to run. <!-- triage: duplicate of codex shell-quoting AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: skills/hive/references/workflow-creator.md:92 Finding: retry key derivation is specified only as “project + workflow ID + normalized original request” with no canonical normalization algorithm, so independent agents can mint different keys for the same request and create duplicate tasks. <!-- triage: duplicate of codex stable-key AUTO-FIX -->
  • [x] RESOLVED/NO-FIX: skills/hive/references/workflow-creator.md:74 Finding: the required post-validation graph commit uses raw git add/git commit without the hive/state commit lock, so it can interleave with daemon or task writers and contaminate or race state commits. <!-- triage: duplicate of codex creator-commit-lock AUTO-FIX -->

Nit

← Back to task

HiveDev, when it’s ready.

HiveDev is the hosted product being built around open-source Hive. It isn’t available yet; join the waitlist to hear when it is. We’ll use your email for HiveDev availability updates.

Read our privacy notice.