Skip to content

[OMEGA-346] Add optional Telos goal-representation module (lib_telos_goals.metta) - #335

Open
arielagor wants to merge 3 commits into
singnet:mainfrom
arielagor:add-telos-goal-module
Open

[OMEGA-346] Add optional Telos goal-representation module (lib_telos_goals.metta)#335
arielagor wants to merge 3 commits into
singnet:mainfrom
arielagor:add-telos-goal-module

Conversation

@arielagor

Copy link
Copy Markdown

Supersedes #218, which was closed on 2026-09-02 and cannot be reopened because the branch moved after close. This is the same branch, merged up with current main, with @timur-ashkenov's three review comments addressed (replies are on the threads in #218).

What

Adds lib_telos_goals.metta, an optional, opt-in goal-graph module for Omega, plus docs/reference-lib-telos-goals.md and tests/tests_lib_telos_goals.metta. Additive only: no changes to the core, and lib_omega.metta does not load it.

Why

Omega is goal-autonomous, but the public core has no dedicated, inspectable model of what the goals are. Goal misunderstanding (pursuing the literal request while missing the real goal; serving one person while externalising cost onto the group; chasing an abandoned goal) is where an autonomous agent is most dangerous, and it is rarely represented or measured.

What's in it

  • A small goal graph in Omega's idiom: (goal <id> <scope> <owner> <status>) and (rel <type> <src> <dst>) atoms. Every relation reads src -> dst; subsumes is (rel subsumes <parent> <child>).
  • Zero-arity lenses, all folded into (telos-reading): telos-conflicts, telos-collective-goals, telos-achieved-goals, telos-abandoned-goals, telos-subgoals, telos-blocked, telos-aligned.
  • Parameterised probes, deliberately outside the reading: (telos-goals-of <owner>), (telos-achieved <goal>).
  • Agent integration: Omega does not infer or assert goal atoms itself. The LLM layer asserts them through the existing metta skill, and (telos-enable) installs a GOAL GRAPH prompt extension via the core add-prompt-extension hook that tells it how; (telos-disable) removes it. Nothing runs at import.

Review comments from #218 and how they are resolved

Comment Resolution
telos-reading omitted achieved goals New telos-achieved-goals (plus telos-abandoned-goals, telos-subgoals) are in the reading; the probes that need an argument are documented as outside it.
Intended integration unclear; Omega does not assert goal / rel itself Stated up front in the doc. (telos-enable) / (telos-disable) make the LLM-side path concrete through the existing prompt-extension hook.
subsumes unused, direction undocumented Used by telos-subgoals; direction documented in the schema and asserted by tests.

Verification

Working tree mounted into singularitynet/omega:latest with PETTA_PATH=/PeTTa, each test file run through /PeTTa/run.sh (what tests/mettatest.sh does):

file pass fail
tests/src_config.metta 16 0
tests/src_plugin.metta 5 0
tests/src_skills.metta 6 0
tests/src_utils.metta 7 0
tests/tests_lib_telos_goals.metta 29 0
tests/tests_lib_utils.metta 3 0
tests/tests_mettta_py_metta.metta 1 0

Measuring it

Paired with a 14-scenario / 7-category goal-understanding benchmark that can score Omega or any agent: https://github.com/arielagor/telos (MIT, same licence). Contributed from the BGI Sprint I project "Telos".

🤖 Disclosure: authored with Claude Code under human oversight.

🤖 Generated with Claude Code

https://claude.ai/code/session_0184Dcp8hBMjnBRH2R4epNxc

arielagor and others added 3 commits June 28, 2026 00:40
OmegaClaw is goal-autonomous but the core ships no dedicated goal model
(no `goal` token in run.metta / lib_omegaclaw.metta). This adds an opt-in,
side-effect-free MeTTa module: a goal/rel schema + parameterized rules for
conflicts, collective goals, blocking, and individual<->collective alignment.
Verified to load + derive on Hyperon and in a live OmegaClaw (PeTTa) runtime.
Paired with a 14-scenario goal-understanding benchmark (github.com/arielagor/telos).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ocument subsumes, add telos-enable and tests

Responds to timur-ashkenov's three review comments on singnet#218:

- telos-reading now includes every zero-arity lens: new telos-achieved-goals,
  telos-abandoned-goals and telos-subgoals join conflicts/collective/blocked/
  aligned. The parameterised probes (telos-goals-of, telos-achieved) are
  documented as deliberately outside the reading.
- subsumes is now used (telos-subgoals) and its direction is documented:
  (rel subsumes <parent> <child>). Every relation reads src -> dst.
- Integration made explicit: Omega does not infer goal/rel atoms itself. The
  LLM layer asserts them via the metta skill; (telos-enable) installs a
  GOAL GRAPH prompt extension through the core add-prompt-extension hook,
  (telos-disable) removes it. Nothing runs at import.
- tests/tests_lib_telos_goals.metta: 29 assertions covering every lens, both
  probes, subsumes direction, reading membership and the enable/disable round
  trip. Passes under PeTTa in singularitynet/omega:latest with the rest of
  tests/mettatest.sh.
- Docs moved to docs/reference-lib-telos-goals.md to match the reference-*
  convention and linked from docs/README.md; import path updated to
  (library Omega lib_telos_goals) after the OmegaClaw -> Omega rename.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0184Dcp8hBMjnBRH2R4epNxc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant