def METHOD_NAME(self, previous_entries=[], files=None, full_corpus: bool = True):
    # Extract required fields from config
    output_file = self.config.compressed_jsonl
    if not full_corpus:
        deletion_file_names = set([file for file in files if files[file] == ""])
        files_to_process = set(files) - deletion_file_names
        files = {file: files[file] for file in files_to_process}
    else:
        deletion_file_names = None
    # Extract Entries from specified Markdown files
    with timer("Parse entries from Markdown files into dictionaries", logger):
        current_entries = MarkdownToJsonl.convert_markdown_entries_to_maps(
            *MarkdownToJsonl.extract_markdown_entries(files)
        )
    # Split entries by max tokens supported by model
    with timer("Split entries by max token size supported by model", logger):
        current_entries = self.split_entries_by_max_tokens(current_entries, max_tokens=256)
    # Identify, mark and merge any new entries with previous entries
    with timer("Identify new or updated entries", logger):
        entries_with_ids = TextToJsonl.mark_entries_for_update(
            current_entries, previous_entries, key="compiled", logger=logger, deletion_filenames=deletion_file_names
        )
    with timer("Write markdown entries to JSONL file", logger):
        # Process Each Entry from All Notes Files
        entries = list(map(lambda entry: entry[1], entries_with_ids))
        jsonl_data = MarkdownToJsonl.convert_markdown_maps_to_jsonl(entries)
        # Compress JSONL formatted Data
        compress_jsonl_data(jsonl_data, output_file)
    return entries_with_ids