Skip to content

[feat](multiPyramid): define pyramid named hierarchy api parameters #2097

@jac0626

Description

@jac0626

Affected area

other

Motivation

Parent issue #1947 proposes sharing one Pyramid vector base across multiple independent path hierarchies. Before refactoring internals, the user-facing API and parameter names should be fixed so later PRs do not drift.

Proposed solution

Define the staged API contract:

  • Legacy build/add keeps Dataset::Paths(paths).
  • Named build/add uses Dataset::Paths("site", site_paths) and Dataset::Paths("taxonomy", taxonomy_paths).
  • Build parameters accept index_param.hierarchies, either as names or objects with name and no_build_levels.
  • Single-hierarchy search uses pyramid.hierarchy.
  • Future multi-hierarchy search reserves pyramid.hierarchies plus pyramid.hierarchy_op with union / intersection.
  • Parser should validate non-empty and unique hierarchy names.
  • Future operators may be parsed first, while execution can return a clear not-implemented error.

Alternatives considered

Encoding multiple hierarchy paths into one legacy path string with separators such as comma or custom protocol was considered, but it makes validation ambiguous and mixes hierarchy selection with path syntax.

API / ABI compatibility impact

additive only (no break)

References

Additional context

This issue should only settle API and parameter parsing. It should not refactor Pyramid storage, serialization, or Analyzer behavior.

Related issues


Drafted with AI assistant: Codex:gpt-5

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions