Skip to content

As a Nablarch developer, I want the page explaining a required configuration class to be selected and reflected in the answer when I ask about an implementation pattern (qa-05) #368

@kiyotis

Description

@kiyotis

Situation

In qa-05 ("I want to implement a process that receives JSON via REST API and registers it in the DB. Please show me the implementation pattern for a resource class"), the page explaining the JSON converter configuration class (Jackson2BodyConverter) is not selected during knowledge search and therefore not reflected in the answer. The class is described in the body text, but its name does not appear in any page or section heading, so it is not a candidate for selection when this query is used.

Pain

When asking this type of question, the required configuration class information is missed during page selection. Even though the answer exists in the knowledge base, it is not delivered to the user. Since no error is raised, the omission is difficult to notice.

Benefit

  • Users can receive an answer that includes the required configuration class information when asking this question
  • Information that exists only in body text (not in headings) is no longer missed during page selection and reaches the user

Success Criteria

  • qa-05 passes with an answer that includes the required configuration class information
  • No regression in existing benchmark scores (confirmed via full benchmark run)

Notes (for reference when implementing)

The following design decisions were made during analysis and are provided as context:

  • Rejected: Enriching index.md itself by adding class names to headings — this would increase noise and lead to a cat-and-mouse cycle
  • Approach: Generate a separate file classes.md via RBKC for class-name-based search; leave index.md unchanged
  • classes.md lists Nablarch class names referenced by each page, organized in the same page-unit block format as index.md. No @Published filtering — include all class names that appear on the page
  • Target categories: limited to component, processing-pattern, and development-tools only; all other categories are out of scope
  • Page selection flow: first run selection against index.md, then against classes.md, then merge both candidate sets, deduplicate, and trim to the existing upper limit (10 pages). Both are always executed in sequence — this is not a fallback where one is consulted only when the other returns empty
  • Verification: confirm that the relevant page is selected for qa-05 and the required class appears in the answer, then run the full benchmark per HOW-TO-RUN procedure and report results

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    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