<?xml version="1.0" encoding="UTF-8"?>
<spec xmlns="https://vibevm.org/spec/1">
  <title id="root">Package manifest</title>
  <status stage="doc" state="work" audience="user,dev"/>
  <p p="1">What `org.vibevm.core/vibevm@1.0.0` declares about itself. Everything on this page is the package's own manifest, read and shown — nothing here is an opinion about the package.</p>
  <table p="2">
    <tr>
      <td>Field</td>
      <td>Value</td>
    </tr>
    <tr>
      <td>Coordinate</td>
      <td>`org.vibevm.core/vibevm`</td>
    </tr>
    <tr>
      <td>Version</td>
      <td>`1.0.0`</td>
    </tr>
    <tr>
      <td>Kind</td>
      <td>`pack`</td>
    </tr>
  </table>
  <section id="documentation" title="Documentation">
    <p p="3">Packages that document this one. A ★ means both ends agree — the package named this subject and this subject named it back; without one, only the documentation's own side of the edge exists, which is a state and not a lesser one.</p>
    <table p="4">
      <tr>
        <td>Standing</td>
        <td>Title</td>
        <td>Coordinate</td>
        <td>Publisher and language</td>
      </tr>
      <tr>
        <td>★ primary</td>
        <td>VibeVM Manual</td>
        <td>`org.vibevm.core/vibevm-docs@1.0.0`</td>
        <td>org.vibevm.core · en</td>
      </tr>
      <tr>
        <td>community</td>
        <td>Руководство VibeVM</td>
        <td>`org.vibevm.core/vibevm-docs-ru@1.0.0`</td>
        <td>org.vibevm.core · ru</td>
      </tr>
    </table>
  </section>
  <section id="the-manifest" title="The manifest">
    <fence lang="toml" p="5">[project]
name = "vibevm"
group = "org.vibevm.core"
version = "1.0.0"
# PROP-045: материализация спек зависимостей — XML (слово владельца 2026-08-22,
# догфуд сценария №0: исходники MD, слоты XML).
spec_format = "xml"
authors = ["Oleg Chirukhin"]

[requires.packages]
"flow:org.vibevm.world/omnichannel" = "^1.0.0"
"stack:org.vibevm.ai-native/rust-ai-native" = "^1.0.0"
"stack:org.vibevm.ai-native/typescript-ai-native" = "^1.0.0"

[requires.packages."flow:org.vibevm.fractality/delegation-first"]
version = "^1.0.0"
link = "dynamic"

[requires.packages."flow:org.vibevm.world/multi-user-planning"]
version = "^1.0.0"
link = "static-transitive"

[requires.packages."org.vibevm.world/redbook"]
version = "^1.0.0"
link = "static-transitive"
exclude = [
  "org.vibevm.world/wal",
  "org.vibevm.world/wal-specspaces",
]

# redbook@1 is immutable and its dormant wal-specspaces member fragment names
# the WAL concept. This consumer deliberately excludes that whole continuity
# family in favour of multi-user-planning, so silence only that known legacy
# concept warning at the root; no package bytes or edition roster are rewritten.
[visibility]
ignore-concept-warnings = ["WAL"]

# vibevm is its own bootstrap project — the tool itself, and now the first
# consumer of packages it authors: flow:multi-user-planning above resolves from
# the local packages/ tree; it is not yet a consumer of any remote vibevm
# registry. The `[[registry]]` blocks
# below are the same defaults `vibe init` writes for every new
# project, kept here so `vibe check` / `vibe show config` can resolve
# provenance against the same shape every other vibevm project uses.
# Full self-hosting under `packages/` lands post-M1.
#
# Two registries by default: `vibespecs` on GitHub is the canonical
# publish target (the only host where `vibe registry publish` drives
# the create-repo + push-tag flow end to end today); `vibespecs-gitverse`
# is queried on resolve fall-through so packages that only live on
# GitVerse install without manual setup. Publishing to GitVerse is
# currently a stub — see `crates/vibe-cli/src/commands/registry.rs`.
[[registry]]
name = "vibespecs"
url = "https://github.com/vibespecs"

[[registry]]
name = "vibespecs-gitverse"
url = "https://gitverse.ru/vibespecs"
naming = "name"
</fence>
  </section>
</spec>
