Skip to content

Feature: Deterministic source-ingestion hooks for external knowledge producers #1681

Description

@mhingston

Problem

Teams often need to compile selected knowledge from authoritative systems (for example documentation platforms, code repositories, databases, or ticket systems) into an OpenKnowledge project. The current file-based workflow is useful once Markdown exists, but there is no documented, stable extension point for repeatable source snapshots and deterministic regeneration.

Use case

A team wants to run a scheduled or CI job that discovers source artifacts, snapshots source identity and revision metadata, transforms them into Markdown/frontmatter, validates the result, and produces an explainable Git diff. Generated output should remain distinguishable from hand-curated content, and the default path should not silently rewrite facts with an LLM.

Proposed direction

  • Define a small, versioned producer/import contract or CLI hook for external sources.
  • Make source identity, revision/version, extraction time, and source URI available to generated documents and manifests.
  • Support deterministic transform, validation, and diff steps.
  • Provide clear conventions for generated versus hand-curated files so regeneration cannot overwrite manual content accidentally.
  • Allow integrations to live outside the core repository while sharing common validation and output conventions.
  • Keep the design source-agnostic; this is not a request for one vendor-specific connector.

Acceptance criteria

  1. An external producer can snapshot source artifacts into an OpenKnowledge project without modifying application code.
  2. Re-running the same snapshot produces a deterministic or explainable diff.
  3. Generated documents retain source identity and revision metadata.
  4. Validation can run headlessly in CI before changes are committed.
  5. Generated and hand-curated content have documented, safe ownership boundaries.

Please advise whether this should be a supported plugin/producer API, a CLI contract, or remain an integration pattern maintained outside OpenKnowledge.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions