Commit Graph
28 Commits
Author SHA1 Message Date
Dario LipicarandClaude Opus 4.8 11fd79343c docs: concurrent dispatch (concurrency:"multi") section (#73)
Adds the metadata flag row + §1.6 explaining single vs multi, the per-language
thread-safety contract (Rust &self + Send + Sync / C++ self-synchronize), and the
"how it works" model: the module owns concurrency behind the ordinary callMethod
(pending sentinel + completion event) with NO provider/host ABI change, so an old
daemon/app loads + forwards a multi module unmodified. Protocol 0.2 (additive
minor). Notes the event-ordering caveat and the pre-0.2-caller caveat.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 16:59:20 -03:00
Khushboo Mehta 1a24a39daf feat: add support for display_name in manifest files 2026-06-19 14:40:00 +02:00
Dario LipicarandClaude Opus 4.8 fbf8b108b4 docs: document the nix build .#generate output (#71)
Add the new `.#generate` output (runs every code generator and emits a
ready-to-build module source tree) to the build-outputs section of the
developer guide.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 14:15:39 -03:00
Dario LipicarandClaude Opus 4.8 ae7c65ad95 docs: replace logoscore inline (-c) mode with daemon/client workflow (#66)
* docs: replace logoscore inline (-c) mode with daemon/client workflow

logos-logoscore-cli's inline mode (`logoscore -m <dir> -l <mod> -c
"mod.method(args)" --quit-on-finish`) has been removed. Update the developer
guide and the wrapping-a-C-library tutorial to use the daemon + client
workflow instead:

  logoscore -D -m ./modules -l my_module &   # start a daemon, pre-load module
  logoscore call my_module doSomething hello # call (positional args; @file ok)
  logoscore stop                              # stop when done

- §5.1 "Inline Mode (Legacy)" → "One-shot execution" (daemon + `call`), with a
  note that inline mode was removed and a daemon-startup flags table.
- CLI quick-reference: drop the inline one-liner; show daemon pre-load instead.
- Troubleshooting "quick check": load-module + call + stop.
- tutorial-wrapping-c-library spec + its rendered output: "inline (legacy)
  mode" → "the full daemon/client workflow".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: address review — fix §6.1 anchor, daemon readiness waits, document --config-dir

- Fix the "Running with logoscore" link anchor: #51#61 (the section is 6.1;
  the old anchor 404s). In both the wrapping-c-library spec and its output.
- Daemon examples background `-D` then call immediately, which can race daemon
  startup. Wait for readiness (`until logoscore status; do sleep 0.2; done`) in
  the §6.1 one-shot example and the troubleshooting quick-check; background the
  previously-foreground openmetrics `-D` snippet too.
- Document `--config-dir` (and `--persistence-path`) in the daemon startup flags
  table, since the openmetrics example uses `--config-dir`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: daemon starts clean — drop -l, load modules via load-module

Follow-up to dropping inline mode: logoscore's daemon now starts clean (the
-l/--load-modules autoload flag is removed). Update the §6.1 one-shot example
and CLI quick-reference to start a clean daemon and load modules with
`load-module`; drop the -l row from the daemon startup flags table.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 22:37:36 -03:00
Dario LipicarandClaude Opus 4.7 c2cd6f09eb docs: LIDL-based dependency consumption + dependency_overrides (#65)
* docs: document LIDL-based dependency consumption + dependency_overrides

Tutorial-sync for "concrete dependencies via LIDL":
- Developer guide §9.2: explain that each module publishes a cheap LIDL
  interface contract (packages.<sys>.lidl) and that consuming a dependency
  generates modules().<dep> from that LIDL WITHOUT building the dependency's
  plugin — only the standalone-app run (#run) bundles/builds deps. Notes the
  cross-language pipeline (Rust -> LIDL -> C++) and the transitional fallback
  for deps that don't yet expose a `lidl` output.
- Document the new `dependency_overrides` metadata field (§9.2 + field table).
- Composing Modules tutorial: correct the prose that said the builder "fetches
  calc_module's headers" — it now reads calc_module's published LIDL contract
  and does not build calc_module's plugin at the aggregator build step.

Depends on logos-cpp-sdk#77, logos-plugin-qt#9, logos-module-builder#110 (the
described behavior ships with those).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* address review: regenerate composing tutorial md; reconcile §8.2/§9.2

- Regenerate outputs/tutorial-composing-modules.md so the committed markdown
  matches the updated YAML prose (it had stale "fetch headers" / "exported
  interface" wording). Verified identical to `doctest generate`.
- Developer guide §9.2: add a note tying the LIDL-contract dependency wrapper
  generation to §8.2 — it's the same logos-cpp-generator driven by the dep's
  LIDL/.h contract (like interface_dependencies) rather than inspecting a
  compiled plugin (the manual/standalone path), so the two sections no longer
  read as conflicting mechanisms.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-08 12:22:30 -03:00
Dario LipicarandClaude Opus 4.7 c9f47391e5 feat: dependency interfaces — executable tutorial + guide (#64)
* feat: dependency interfaces tutorial (executable)

Add tests/tutorial-interface-dependencies.test.yaml — an executable
logos-doctest tutorial that builds calc_via_interface: a module declaring a
`calculator` interface and binding it to calc_module at runtime. Covers typed
sync/async/event calls, the no-validation rule, and the cross-repo interface
form. Registered in run.sh and CI (run + generate). Documents
interface_dependencies + bind_<interface> in the developer guide.

Depends on logos-cpp-sdk#74, logos-module-builder#108, logos-plugin-qt#8 —
the published flakes must carry these before the tutorial runs green in CI
(same release gating as the Composing Modules tutorial).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* address review: self-valid interface header + accurate CI step

- Interface calculator.h includes logos_module_context.h so the logos_events
  token is defined (valid C++ standalone); prose updated accordingly.
- CI step name/comment now reflect the third tutorial leaf
  (tutorial-interface-dependencies), not just the UI chain + Composing Modules.
(Copilot review, PR #64.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* rerun

* rerun

* fix(tutorial): correct the no-validation negative test

Binding to a module that isn't loaded does NOT return a silent default — the
inner remote call fails and propagates, so `logoscore call ... sumVia
no_such_module` exits non-zero with RPC_FAILED. The step asserted "result":0
and let the non-zero exit fail the doctest step. Reframe it accurately: a bad
bind surfaces as an ordinary RPC failure (not a crash); absorb the exit with
`|| true`, capture stderr, and assert `"status":"error"`. Fix the prose and the
recap row to match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 22:19:30 -03:00
Iuri Matias 62c0f0ad3f update tutorials
update tutorials

fix test
2026-05-29 16:22:44 -04:00
Iuri Matias a32ea8bce4 support screenshots 2026-05-29 15:43:10 -04:00
jzaki 48591dc0d7 fix callback function params 2026-04-21 10:46:34 +01:00
jzaki 388e8b4128 Auto-formatting commit only 2026-04-21 10:45:21 +01:00
Khushboo Mehta f70ba79af4 feat: update tutorial to guide user to write mcp server tests 2026-04-14 14:04:57 +02:00
Dario Gabriel Lipicar 829375e166 misc updates 2026-04-13 15:16:55 -03:00
Khushboo Mehta 665a2ce713 feat: use qt + qml plugins when write an ui app 2026-04-10 18:11:25 +02:00
Khushboo Mehta 39a00e60f0 feat: update to using tags instead of commit hashes 2026-04-01 19:24:08 +02:00
Khushboo Mehta 27bc708694 feat: some more issues fixed when testing 2026-04-01 19:13:24 +02:00
Khushboo Mehta 321fe4a41a feat: lock in stable tutorial 2026-04-01 11:44:30 +02:00
Khushboo Mehta 55b6dd237e feat: this PR does 2 things
1. removes adding standalone-app as dependency from the ui modules they
   get it out of the box when using module-builder
2. just using latest version of standalone app and now we have all
   dependecies auto packaged and installed
2026-03-27 14:40:43 +01:00
Khushboo Mehta 73b3cd0674 chore: remove bundle dependecies from modules as it present in module-builder now 2026-03-27 11:29:59 +01:00
Khushboo Mehta 3d950826e2 fix: fix issues reported 2026-03-26 13:45:12 +01:00
Khushboo Mehta 22410a8a7b fix: improvements
1. Adapt to changed made in standalone app to use capability module
   directy so it doesnt have to be loaded manually
2. adapt to using nix deriuvation for lgx packages directly from modules
2026-03-26 12:04:09 +01:00
Khushboo Mehta f5bb23c105 feat: update and streamline the guides 2026-03-26 10:10:05 +01:00
Khushboo-dev-cpp 0af4fe6154 Merge pull request #14 from logos-co/feat/metadataJsonSingleSourceOfTruth
feat: adapt tuorials as per changes done in builder for unification into metadata.json
2026-03-25 15:23:38 +01:00
Khushboo Mehta 199d318b54 feat: adapt tuorials as per changes done in builder for unification into metadata.json 2026-03-25 09:15:00 +01:00
Iuri Matias 7320512bdc Merge pull request #15 from logos-co/logoscore_cli
use logoscore-cli instead
2026-03-24 13:57:37 -04:00
Iuri Matias b1f0fdf315 use logoscore-cli instead 2026-03-24 13:53:18 -04:00
Khushboo Mehta 5afe519083 feat: add tutprial for c++ ui 2026-03-20 15:37:36 +01:00
Khushboo Mehta 61cab6306b chore: update name oif logos-app to logos-basecamp 2026-03-18 14:22:43 +01:00
Iuri Matias d8f320fd64 general dev guide; tutorial; example module 2026-03-06 14:05:53 +00:00